ArrayBlockingQueue вызывает всплеск использования ЦП - PullRequest
0 голосов
/ 14 июля 2020

У меня есть код, который, как мне кажется, должен блокировать ... Когда я запускаю этот код, мой процессор сходит с ума и сильно нагревается!

Я использую ArrayBlockingQueue, на котором заблокированы разные потоки. Вход сокета, будет заполнен. Затем есть главный поток, который повторяется снова и снова, но предполагается, что он синхронизирует (и охлаждает CPU) по методу take() ...

while(this.eventsQueue.size() > 0)
            {
                try
                {
                    Object result = this.eventsQueue.take();
                
                    handleObject(result);
                } 
                catch (InterruptedException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            }

Кто-нибудь знает, что я говорю правильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...