2011-02-08 16 views
3

可以說我的Activity有一個包含東西的列表對象。此活動從幾個AsyncTasks開始。當這些任務完成時,他們修改這個列表(例如添加東西),在他們的postExecute()方法中。該列表是否應該是線程安全的?AsyncTasks和線程安全的數據對象?

我敢打賭,因爲postExecute()方法中的代碼依次在UI線程中運行,所以它並不是必須的。所以他們不會同時修改列表。它是否正確?

回答

2

是的,你是對的。 postExecute()在UI線程中執行,因此所有的AsyncTasks將按順序更新您的列表(而不是同時)。

在其他情況下,我建議你看看Java的CollectionssynchronizedList