2011-08-27 65 views
0

我有一個單例類,我想從多個線程訪問它。該類從核心數據返回數據。我有兩個nsmanagedobjectcontext爲每個線程。我應該將nsmanagedobjectcontext從每個線程傳遞給單例類嗎?核心數據是單線程安全的嗎?

回答

2

從不同線程的不同管理對象上下文訪問核心數據是安全的。您應該以某種方式將託管對象上下文傳遞給您的單例。無論你在單例類中的代碼是否是線程安全的,都取決於你。

另一種選擇是爲所有線程使用一個託管對象上下文,但在訪問任何Core Data屬性之前鎖定持久存儲。不過,多個託管對象上下文更可取。