У меня есть код, который, как мне кажется, должен блокировать ... Когда я запускаю этот код, мой процессор сходит с ума и сильно нагревается!
Я использую 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();
}
}
Кто-нибудь знает, что я говорю правильно?