用java实现的生产者与消费者多线程同步互斥模型
来源:xjh 编辑:xjh 2007-05-23
生产者与消费者模型中,要保证以下几点:
(1)同一时间内只能有一个生产者生产。
(2)同一时间内只能有一个消费者消费。
(3)生产者生产的同时消费者不能消费。
(4)消息队列满时生产者不能继续生产,消息队列空时消费者不能继续消费,此时必须等待。
程序设计分三个部分:
Message消息对象
Queue存放消息的缓存队列,共享资源
public synchronized void produce(Messagemessage)
public synchronized Messageconsume()
public synchronized intgetCount()
上面三个方法是临界区
Test测试部分,定义生产者、消费者线程,同时启动多个线程
经过测试,这个模型适用可行,我把java源代码提供出来,大家可以下载附件!