2013-02-18 105 views
-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(),直到隊列不爲空暫停執行?

感謝你的幫助, 佩德羅

回答

3

不知道你問什麼,但如果你想從隊列中獲取一個對象,等到隊列中有一個對象,以拍攝,您可以使用BlockingQueue

如果您想等到隊列中有對象使用queue.take()。它將掛起,直到隊列中有一個對象,並將其從隊列中刪除。

+0

感謝baraky,爲我指出了正確的方向。 – Pedro 2013-02-18 10:54:09

+0

很高興我能幫忙:) – BobTheBuilder 2013-02-18 10:55:22