4

私はマルチスレッドプログラミングとココアにかなり慣れていません。

NSMutableArrayiVarにアクセス/変更するにはロックが必要です。それを行う最も簡単な方法は何ですか?

そして、私がここにいる間、皆さんはObj-c / Cocoaを使用したマルチスレッドプログラミングについて読んでいますか?どうも。

4

2 に答える 2

10

@synchronizedブロックの使用:

@synchronized(MyArray)
{
    // thread safe code
}

このブロックは Xcode によって認識されないことがありますが、信じてください。

詳細については、この記事を参照してください。

于 2012-07-05T16:03:16.973 に答える
1

別の方法は、GCDとシリアルキューを使用することです。

NSArrayプロパティには、プライベートシリアルキューを使用するアクセサを記述します。設定し、バッキングストアから値をフェッチします。シリアルキューはFIFOであり、ブロックを順番に実行するため、これにより、プロパティへのスレッドセーフなアクセスが提供されます。

于 2012-07-05T16:36:59.700 に答える