2
我運行一個單獨的線程代碼(不是UI線程)ConcurrentModificationException的一個循環
strains = new ArrayList<Strain>();
for (Breeder b : breeders) {
for (Strain s : b.getStrains()) {
strains.add(s);
}
}
它有時會導致ConcurrentModificationException的。 我知道,我不能添加或我是遍歷集合中刪除的對象,但在這個片段中,我不迭代上的菌株。我錯在哪裏?由於
這可能是問題。或者它可能是育種菌株的循環。但是,同步訪問不會改變任何東西,除非所有線程在每次訪問集合時都執行相同的操作。它應該被封裝在一個類中。 – 2013-03-10 16:07:34
我試圖同步breedes存取權限,但沒有幫助..唯一的例外是在這裏燒「爲(種禽B:飼養者)」 – TheModularMind 2013-03-10 21:38:18