我在Android應用程序中使用LinkedList,我遇到競爭條件。 1線程將數據添加到LinkedList,而另一個線程在檢索時刪除它們。我遇到了我從未處理過新添加的對象的情況。Java/Android:LinkedList競爭條件
我爲Google同步對象Google搜索,但無論是我想太容易,或者我失去了一些東西。從我讀過的內容來看,「對象同步」是兩者中較爲困難的,所以我想知道是否只用一段代碼來封裝同步(對象){};足夠?
所以,我有:
public void function addMove(Object move) {
synchronized(list) {
list.add(move);
};
};
public void function second() {
synchronized(list) {
// iterate through the list
list.clear;
};
};
這真的是我所需要的?
請參見java.util.Collections.synchronizedList。 – ignis
爲什麼不只是public void synchronized function()? – Shark
您是否收到語法錯誤?我不熟悉方法聲明中的* function *詞。你可能只需要'public void addMove(Object move){...}'和'public void second(){...}'。 – Phil