私はそれにNSOperationsの数を持つNSOperationQueueを持っています。私はコードの特定の部分が並行して実行されないようにしたい。私はこのようなNSLockオブジェクトを使用します。NSOperationは新しいスレッドを生成しませんか?
[myLock lock]
some critical code
[myLock unlock]
残念ながら代わりに、ブロッキングの私は次のエラーを取得呼んで "ロック":
- [NSLockロック]:デッドロック( '(null)' の)
を調査の結果、すべてのNSOperationsが同じスレッドで実行されているように見えました。すべての操作は同じスレッドで実行するように見える
NSLog(@"Thread %@\n", self, [NSThread currentThread]);
:私はスレッドIDをログインした後、その結論を描きました。それらは操作として並行して実行されています。
それは意味がありますか?私は少し混乱しています。私は何かが恋しいですか? NSOperationとNSLockを一緒に使用する際に問題がありますか? (そうでない場合は、私のコードに誤りがあると確信しています)
もっとコードを投稿できますか?より多くの文脈?また、これはMac OS XまたはiOSでですか? –