-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 に答える