重複の可能性:
@synchronized() は何をしますか?
@synchronized
実際に何ができるのか、私のアプリケーションには何が最適なのかについて質問があります。
NSMutableArray
バックグラウンド スレッドで変更し、フォアグラウンド スレッドでアクセスします。配列の内容を変更しているときに配列にアクセスすると、バックグラウンドの変更から更新された値を取得できる場合は、配列へのアクセスを少し保留したいと思います。NSLock
ただし、特にs とがどのように機能するかについては 100% 確信が持てません@synchronized
。
それが不可能な場合、配列のコピーを変更し、終了したら、アクセサー呼び出しをフリーズするために、コピーの内容を設定するときにプロパティ/インスタンス変数をロックすることは可能ですか?
基本的に、@synchronized(myArray) はアクセサー呼び出しをフリーズしますか (ロックが解放されるまで呼び出しをハングさせてから実行します)?
また、インスタンス変数またはプロパティを NSLock でロックすることは可能ですか? 私が見たところ、コードのブロックのみをロックしているようです。