生產者與消費者

2021-08-25 20:14:11 字數 639 閱讀 5025

include

#include

#include

#include

#include

#include

#define size_of_buffer 10

int buffer[size_of_buffer];//緩衝陣列

int in=0,out=0;//採用迴圈佇列方式進行陣列的訪問

//宣告訊號量

sem_t full;

sem_t empty;

pthread_mutex_t mutex;//用於互斥

int insert_item(int item)//插入item

int remove_item()// 移出item 並返回當前移出值

void * producer(void * pram)//生產者函式

else

pthread_mutex_unlock(&mutex);

sem_post(&full);}}

void * consumer (void * pram)//消費者函式

else

pthread_mutex_unlock(&mutex);

sem_post(&empty);}}

int main()

生產者消費者 生產者與消費者模式

一 什麼是生產者與消費者模式 其實生產者與消費者模式就是乙個多執行緒併發協作的模式,在這個模式中呢,一部分執行緒被用於去生產資料,另一部分執行緒去處理資料,於是便有了形象的生產者與消費者了。而為了更好的優化生產者與消費者的關係,便設立乙個緩衝區,也就相當於乙個資料倉儲,當生產者生產資料時鎖住倉庫,不...

生產者與消費者

include include include include include include define size of buffer 10 int buffer size of buffer 緩衝陣列 int in 0,out 0 採用迴圈佇列方式進行陣列的訪問 宣告訊號量 sem t ful...

生產者與消費者

include include include include include include handle mutex 互斥訊號量 handle full 滿緩衝區訊號量計數 handle empty 空緩衝區訊號量計數 void producer 生產者函式 void consumer 消費者函...