您的位置:首页 > 其它

多线程并发应用(生产者/消费者)

2013-10-23 22:25 267 查看
1. 多线程并发应用的经典模型:

生产者/消费者模型:

系统中,产生消息的是生产者,处理消息的是消费者,消费者和生产者通过一个缓冲区进行消息传递。生产者产生消息后交到缓冲区,然后通知消费者可以从中取出消息进行处理。消费者处理完这些信息,通知消费者可以继续提供消息。

要实现这个模型,关键是消费者和生产者两个线程的同步。

只有缓冲区有消息时,消费者才能提取消息,只有消息已经被处理,生产者才能产出消息提交到缓冲区。

2.对生产者消费者问题的进一步说明:

这是一个多线程同步问题的经典案例。该问题说的是两个共享固定大小缓冲区的线程在实际运行中出现的问题,也叫做有限缓冲问题。要解决这个问题,必须让生产者在缓冲区写满时就休眠,等待下次消费者消耗缓冲区数据时,再唤醒生产者继续生产数据。同样,消费者进入空的缓冲区也需要暂时休眠来等待生产者写数据。

有待补充。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐