Когда потребитель, реализованный в очереди блокировки, перестает слушать сообщения - PullRequest
0 голосов
/ 25 апреля 2018

Привет, мы написали простую проблему для производителя с использованием LinkedblockingQueue. Мой производитель записывает от 1 до 10 в очередь, а потребитель читает из очереди, используя цикл while внутри метода run как Ниже

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

Согласно определению очереди блокировки, очередь блокировки блокируется, если в очереди нет сообщений, и она ожидает, пока сообщение не будет помещено в очередь. Поскольку я использую цикл while, мой потребитель будет заблокирован на неопределенный срок?

1 Ответ

0 голосов
/ 25 апреля 2018

Краткий ответ: да.

Длинный ответ: почему бы не попробовать запустить его и убедиться в этом?

...