生產者消費者問題C語言

2022-09-09 14:18:21 字數 708 閱讀 3656

#include#include#include#include#include#include#include#define n 4

int buf[n]=;

int putin=0;

int takeout=0;

//時延函式

void delay(int len)

i--; }}

//生產者

void producer() }}

//消費者

void consumer() }}

int main();

int putin=0;

int takeout=0;

//設定訊號量

sem_t unoccupied; //空位個數,滿緩衝區時 ,其值0,阻止生產者存入商品

sem_t occupied; //產品個數 ,空 0,消費者取

//時延函式

void delay(int len)

i--; }}

//生產者

void producer()

sem_post(&occupied) ; //可取資料的訊號量+1 }}

//消費者

void consumer()

sem_post(&unoccupied) ; //可用空位的訊號量+1 }}

int main()

C語言 生產者消費者問題

1.編寫所需標頭檔案 include include 2.定義全域性變數 define productor 2 生產者數目 為2 define consumers 3 消費者數目 為3 define buffers 10 緩衝區數目 為10 int nextp1 1000 生產者1生產資料 int ...

生產者消費者問題

public class producer consumer class godown public godown int num public synchronized void produce int n catch interruptedexception e curr num n syste...

生產者 消費者問題

在學習程序互斥中,有個著名的問題 生產者 消費者問題。這個問題是乙個標準的 著名的同時性程式設計問題的集合 乙個有限緩衝區和兩類執行緒,它們是生產者和消費者,生產者把產品放入緩衝區,相反消費者便是從緩衝區中拿走產品。生產者在緩衝區滿時必須等待,直到緩衝區有空間才繼續生產。消費者在緩衝區空時必 須等待...