-2

我有一个无限循环来测试队列中的消息:

     //main class
     boolean brun=true;

     while(brun) 
 {

      if(!queue.isEmpty()) //there's a new message 
      {
       msg=queue.remove(0);  //remove it from the queue
       nqueue--;
       //process the message
       if(msg==0)
       ...
       if(msg=999)
              brun=false; //exit
      }
     }

如何使用 Condition.await() 暂停执行,直到队列不为空?

谢谢你的帮助,佩德罗

4

1 回答 1

3

不确定你在问什么,但如果你想从队列中获取一个对象并等到队列有一个对象要取,你可以使用BlockingQueue

如果您想等到队列有对象,请使用queue.take(). 它将挂起,直到队列有一个对象,并将其从队列中删除。

于 2013-02-18T10:43:30.033 回答