0

Objective C の専門家の皆さん、簡単な質問があります。

バックグラウンドで実行されている 2 つの異なるスレッドがあり、それぞれにNSManagedObjectContext割り当てられています。

さて、問題は次のとおりです。NSManagedObjectContext共通/共有NSPersistentStoreCoordinatorを同時に使用して[ディスクに永続化]する2つの保存は安全ですか?

つまり、2 つの異なるバックグラウンド スレッドが同時にディスクに永続化できるでしょうか?

どうもありがとう。

4

1 に答える 1

1

NSPersistentStoreCoordinatorスレッドセーフではありませんが、心配する必要はありません。ANSManagedObjectContextは、ストアを使用するとき (保存中) にストアをロックする方法を知っています。

したがって、同じストアを共有する複数のコンテキストを持つことは正しいことです。これは、 App Store Documentationから推奨されるアプローチです。

スレッドごとに個別の管理対象オブジェクト コンテキストを作成し、単一の永続ストア コーディネーターを共有します。

それが役立つことを願っています。

于 2012-09-26T11:12:08.230 に答える