生产者-消费者问题
经典的同步互斥问题,也称作“有界缓冲区问题”。具体表现为:
1.两个进程对同一个内存资源进行操作,一个是生产者,一个是消费者。
2.生产者往共享内存资源填充数据,如果区域满,则等待消费者消费数据。
3.消费者从共享内存资源取数据,如果区域空,则等待生产者填充数据。
4.生产者的填充数据行为和消费者的消费数据行为不可在同一时间发生。
生产者-消费者之间的同步关系表现为缓冲区空,则消费者需要等待生产者往里填充数据,缓冲区满则生产者需要等待消费者消费。两者共同完成数据的转移或传送。生产者-消费者之间的互斥关系表现为生产者往缓冲区里填充数据的时候,消费者无法进行消费,需要等待生产者完成工作,反之亦然。