1
我想要一个生产者线程,可以从Web服务器获取新的作业。这些应该作为队列或内存存储在本地存储中。然后应该有一个消费者线程从队列读取并通过rs232串行发送这些数据。每个串行接口只有一个用户,因为它没有任何意义。问题是消费者线程在与rs232通信时如何得到通知?Java生产者消费者1 - N线程
我想要一个生产者线程,可以从Web服务器获取新的作业。这些应该作为队列或内存存储在本地存储中。然后应该有一个消费者线程从队列读取并通过rs232串行发送这些数据。每个串行接口只有一个用户,因为它没有任何意义。问题是消费者线程在与rs232通信时如何得到通知?Java生产者消费者1 - N线程
看看并发包。
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html
一个藏品在那里将最有可能满足您的需求。
消费者线程只是将数据从队列中提取出来,因为它们已准备好处理它。
为什么'N'消费者?你有几个串口?无论哪种方式,这都不是很清楚,手头有什么问题。 –
我不明白:为什么要在与rs232通信时通知消费者线程?它不应该1)等到队列不为空,2)从队列中获取下一个项目,并通过rs232发送它? –
是的,可能有2个串行端口。 @MauricePerry是的,它应该等待。但我希望它是可靠的。我不知道BlockingQueue。关键是'等待队列中没有任何东西'。 – GorillaApe