私はで始まるループを持っています
[lock lock];
ループの本体で、ループが再び実行される前に終了する必要がある別のスレッドを作成しているためです。(他のスレッドは終了時にロックを解除します)。
ただし、2番目のループで次のエラーが発生します。
2011-02-02 07:15:05.032 BLA[21915:a0f] *** -[NSLock lock]: deadlock (<NSLock: 0x100401f30> '(null)')
2011-02-02 07:15:05.032 BLA[21915:a0f] *** Break on _NSLockError() to debug.
「ロック」ドキュメントには、次のように記載されています。
要約:ロックを取得しようとし、ロックを取得できるようになるまでスレッドの実行をブロックします。(必要)
ロックを取得できるようになるまでブロックするだけだと思いますか?