【问题标题】:Java Producer Consumer 1 - N threadsJava 生产者消费者 1 - N 个线程
【发布时间】:2014-01-01 07:30:02
【问题描述】:

我想要一个生产者线程,它可以从 Web 服务器获取新作业。这些应该作为队列或内存存储在本地存储中。然后应该有一个消费者线程将从队列中读取并通过 rs232 串行发送这些数据。每个串行接口只有一个消费者,否则没有意义。问题是消费者线程在与 rs232 通信时如何得到通知?

【问题讨论】:

  • 为什么N消费者?你有几个串口?不管怎样,目前还不清楚手头有什么问题。
  • 我不明白:为什么要在与 rs232 通信时通知消费者线程?不是应该 1) 等到队列不为空,2) 从队列中获取下一个项目并通过 rs232 发送它吗?
  • 是的,可能有 2 个串行端口。 @MauricePerry 是的,它应该等待。但我希望它是可靠的。我不知道阻塞队列。关键是“如果队列中没有任何内容,请等待”。

标签: java multithreading


【解决方案1】:

查看并发包。

http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html

其中的一个系列很可能满足您的需求。

消费者线程只是在准备处理数据时从队列中提取数据。

【讨论】:

    猜你喜欢
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多