生产者消费者问题
解决方法1:管程法(利用缓冲区解决)
整一个专门的池子(数据缓冲区),把生产出来的产品放这个池子里,比如你生产了100个,先预存在这个池子里面(生产者将生产好的数据放入缓冲区,消费者从缓冲区拿出数据)
池子是有容量,没有超过容量就可以往池子里放数据或者取数据
解决方法2:信号灯法
一位标志位,通过标志位来判断生产者能否放入产品(或者消费者能否取出产品)
打个比方,现在有一张桌子D,一个放苹果的人A(生产者),一个吃苹果的人B(消费者),以及苹果C。桌子可以放一个苹果。现在有个标志flag,当标志为true的时候,B才可以去吃,吃了后,标志位变为false,通知A再去放,如果B没有吃,A就一直等待。