從隊列中刪除時,我得到的是NoSuchElementException
有時是。我是否需要使用鎖/等待/其他延遲機制?當從隊列中抽取隊列時發生Java'NoSuchElementException'
我已經提供了代碼的粗略翻譯。
線程與隊列
public void run(){
while(true){
if(queue.size()>=2){
a = queue.remove();
b = queue.remove();
//DoesSomeWorkHereWhichWorks
//Writes to MVAR's
}
}
線程其寫入隊列
public void run(){
while(x>0){
//Does something which works
QueueThread.add(this);
//Take from mvars
}
}
大加讚賞,請寬容我,我是新來的編程:)
如果您有多個線程正在執行此操作,則無法保證在調用queue.remove()時queue.size()> 0。 –
有五個'作家'線程和一個'帶隊列的線程'。所以不應該這樣,因爲隊列線程每次只能運行一次。 –
這將是製作SSCCE的好時機。 http://sscce.org/ –