所以我有一個SomeTask
類extends Thread
,具有Map
和List
領域。當你沒有做Collections.synchronizedXXX
並且你有多個SomeTask線程正在運行時,會有什麼行爲?Java併發性:我應該同步所有List和Maps嗎?
一旦地圖是從數據庫調用(我使用對象數據庫直接存儲POJO),我需要同步的Map對象從該數據庫返回呢?
Map SomeTasksOwnMap = Collections.synchronizedMap(MapReturnedFromDatabase);
但不是每個線程都得到它自己的Map實例嗎? – KJW 2012-03-14 03:44:55
@KimJongWoo - 當然他們沒有。無論給你什麼想法? – 2012-03-14 03:48:38
盲同步是......盲目的。不要這樣做。考慮線程邊界以及數據如何移動。 – 2012-03-14 03:54:17