私は複数のスレッドが永続ストア(SQLiteデータベース)から単一のNSManagedObjectContext(MOC)インスタンスにデータをプルしています。私はそれをかなり徹底的にテストし、操作が重複する場合(スレッド5がそうしている間にスレッド4をMOCにロードする)、すべてがスムーズに実行されます。複数のスレッドから1つの管理オブジェクトコンテキストにオブジェクトをロードする際の問題点は何ですか?
私はCore Data Programmingガイドを読みましたが、Appleがこの動作を許していないことを認識していますが、その理由は何か不思議です。ドキュメントでは、Appleは書き込みが危険であるだけでなく、フォールトが発生する可能性があるため、読み取りも同様であることを簡単に暗示しています。どのように(別のスレッドからロードするすべてのオブジェクトが互いに重複しない個別のエンティティである場合)?そして、それは単にアプリケーションがパフォーマンスヒットを意味するのではないのですか?したがって、パフォーマンスのヒットがメモリ使用量の増加よりも良いトレードオフであると判断した場合、私は1つのMOC(非推奨)メソッドを使用する傾向があります。
私はどちらの場合でも推奨された方法に戻すつもりですが、これらの規則が守られていないとどうなるかについての具体的な詳細については興味があります。前もって感謝します。
あなたの説明は理にかなっています。ええ、上記のように、ここで受け取った回答にかかわらず、すべてを適切な実装に戻しています。ありがとう。 – Stunner