請通過我應該鎖定哪些對象上,當我路過一個集合<Foo>成一個單獨的類?
foos = Collections.synchronizedList(new ArrayList<Foo>(10));
當連接#start()被調用時,它會創建輪詢的一個實例是指UML
連接類的構造函數初始化它FOOS成員(在經過FOOS參考到輪詢的構造函數)&輪詢開始(輪詢是一個Runnable)。
問題:本輪詢線程將基於外部事件列表添加到&刪除對象。定期的客戶將調用連接#快照()檢索列表。由於Poller中的實現將執行檢查以避免添加期間的重複,因此它不是線程安全的。
例如輪詢#運行的FPGA實現
if(_foos.indexOf(newFoo) == -1)
{
_foos.add(newFoo);
}
我能在連接以及輪詢同步到爲了線程安全的嗎?
你可以在你的問題中嵌入圖像,你不需要使用外部鏈接。 – 2011-10-17 06:07:08