【问题标题】:When does consumer implemented on blocking queue stop listening to messages阻塞队列上实现的消费者何时停止监听消息
【发布时间】:2018-04-24 22:25:39
【问题描述】:

您好,使用 LinkedblockingQueue 编写了一个简单的生产者消费者问题。我的生产者在队列中写入 1 到 10,消费者使用 run 方法中的 while 循环从队列中读取 下面

    while(true){
                try {
                    System.out.println("Consumed: "+ sharedQueue.take());
                } catch (InterruptedException ex) {
}

根据阻塞队列的定义,如果队列中没有消息,阻塞队列将被阻塞,并等待消息放入队列。因为我使用了一个while循环,我的消费者会被无限期地阻塞吗?

【问题讨论】:

  • 您已经回答了自己的问题。它会一直阻塞,直到有消息放入队列。

标签: java multithreading design-patterns java.util.concurrent


【解决方案1】:

简短回答:是的。

长答案:为什么不尝试运行它并亲自查看?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多