#include#include#include#includeusing namespace std;
typedef int semaphore;/*訊號量是一種特殊的整型變數*/
const int size_of_buffer=5;//緩衝區長度
const unsigned short producers_count=2;//生產者的個數
const unsigned short consumers_count=3;//消費者的個數
dword producers[producers_count];//生產者執行緒的識別符號
dword consumers[consumers_count];//消費者執行緒的識別符號
const unsigned short threads_count=producers_count+consumers_count;//總的執行緒數
/**
*定義訊號量
*/ handle mutex;//互斥訊號量
handle full;//表示放有產品的緩衝區數,其初值為0
handle empty;//表示可供使用的緩衝區數,其初值為n
/**
*定義共享緩衝區
*/ semaphore buffer[size_of_buffer];
/**
*定義生產者和消費者使用的指標
*/ int in=0;
int out=0;
int productnum=0;
dword winapi producer(lpvoid);
dword winapi consumer(lpvoid);
int main(int argc,char*argv)
//建立消費者執行緒
for(int i=0;ibool iscontinue=true;
while(iscontinue) }
system("pause");
return 0;
}void enbuffer(int pos)
void debuffer(int pos)
/**
*生產者
*/ dword winapi producer(lpvoid lpparam)
return 0;
}/**
*消費者
*/ dword winapi consumer(lpvoid lppara)
return 0;
}
生產者消費者執行緒
該簡單生產者 消費者執行緒,屬於本人學習過程中的一段練習 如有不足,請指點 package com.lanqiao.demo3 author 大廣子 類說明 簡單的生產者,消費者執行緒 public class threadptcs catch interruptedexception e 退出 s...
生產者消費者 生產者與消費者模式
一 什麼是生產者與消費者模式 其實生產者與消費者模式就是乙個多執行緒併發協作的模式,在這個模式中呢,一部分執行緒被用於去生產資料,另一部分執行緒去處理資料,於是便有了形象的生產者與消費者了。而為了更好的優化生產者與消費者的關係,便設立乙個緩衝區,也就相當於乙個資料倉儲,當生產者生產資料時鎖住倉庫,不...
多執行緒 生產者消費者
這個就不多說了,直接上 include include using namespace std const unsigned short size of buffer 10 緩衝區長度 unsigned short productid 0 產品號 unsigned short consumeid 0...