0

カスタムNSOperationサブクラス(NSOperationQueueを使用)によってアクセスされるNSMutableDataivarを持つカスタムモデルクラスがあります。依存関係を使用することで、複数のNSOperationsからivarへのスレッドセーフなアクセスを保証できると思います。また、Qがすべての操作を完了するまで待つことで、他のコード(メインアプリスレッドなど)からivarにアクセスしないことを保証できます。 。

非アトミックプロパティ仕様を使用する必要がありますか、それともアトミックのままにする必要がありますか?パフォーマンスに大きな影響はありますか?

4

3 に答える 3

1

アンドリュー、それが重要かどうかは、あなたが何をしているかによって異なります. 操作で動画を youtube にアップロードしていて、各操作でデータを 1 回読み取る必要がある場合は、ほとんど違いはありません。アトミックのままにしておくだけです。

それ以外の場合は、プロファイルを作成して、それが重要かどうかを確認する必要があります。NSMutableData が 2 つ以上のスレッドから同時にアクセスされることはないと確信している場合 (ロック、バリア、または単に待機している場合)、その必要はありません。アトミックであること。

于 2010-06-04T23:31:06.017 に答える
0

変更可能なオブジェクトの場合、最大の敵は同時変更であり、一貫性のないプロパティ アクセスではありません。

于 2010-06-05T09:41:54.020 に答える
0

時期尚早の最適化は諸悪の根源です。

パフォーマンスの問題があることが確実にわかるまで、アトミックのままにしておきます。

于 2010-06-05T09:30:47.477 に答える