私は財産を持っています@property NSLock *myLock
そして、次の 2 つのメソッドを書きたいと思います。
- (void) lock
と
- (void) unlock
これらのメソッドはmyLock
それぞれロックとロック解除を行うため、呼び出されたスレッドまたはキューに関係なく、これを行う必要があります。たとえば、スレッド A がlock
呼び出した可能性がありますが、キュー B が呼び出している可能性がありますunlock
。これらの方法はどちらも、ロックをロックした別のスレッド/キューからロックを解除しようとしていると報告することなく、適切に機能するはずです。さらに、これを同期的に行う必要があります。