码迷,mamicode.com
首页 > 其他好文 > 详细

生产者与消费者

时间:2019-09-19 01:24:04      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:ESS   开始   cer   ddr   release   没有   生产者   --   生产者与消费者   

生产者信号量producer(100);

消费者信号量consumer(0);

生产者是盛饭的,A桌子上有100个空碗就相当于有100个信号量。获得一个信号量相当于别人从桌子拿起一个碗递给他,他盛了1碗饭。A桌子总的碗数减1(A.acquire())A--。B桌子上有1碗可以吃(B.release())B++。

消费者是吃饭的,B桌子多少碗可以吃的饭就是多少个信号量,一开始B桌子上没有饭,所以他一开始的信号量为0。获得一个信号量相当于吃了1碗饭(B.acquire())B--。吃完空碗放到A桌(A.release())A++。A多了一个可以用来盛饭的碗。

生产者与消费者

标签:ESS   开始   cer   ddr   release   没有   生产者   --   生产者与消费者   

原文地址:https://www.cnblogs.com/xpylovely/p/11546413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!