私は、複数のバックグラウンドスレッドから同時にアクセスされるクラスを持っています。私はクラスをコピーすることができません。なぜなら、コンテンツは再作成(処理またはメモリワイズ)する可能性があるからです。スレッドセーフな保持/解放
バックグラウンドでの処理がまだ進行中で、このプロパティにアクセスしているときに、このクラスのプロパティを置き換えることもできます。
現在のところ、私は定期的なリリース/リリースを行っていますが、少なくとも完全にペアであっても、retainCountがランダムに、最終的にはドロップするように見えるため、スレッドセーフではありません(少なくともiOS 4では)このクラスは割り当て解除されます。
このクラスをスレッドセーフにする方法、プロパティの同時アクセスを許可するプロパティの変更を許可する方法の提案を探していますが、プロパティの「以前のバージョン」はバックグラウンドアクション。
-retainCountに依存しないでください:
someMethod
は、バックグラウンドスレッドで定期的に呼び出されて、あなたのsharedObject
に依存していると仮定し例、。 –
あなたは何を保持/解放していますか? –