0

最初のスレッドで使用されているのと同じメソッドにアクセスするために 2 番目のスレッドを停止するにはどうすればよいですか?

4

2 に答える 2

2

1 つのオプションは、メソッドで @synchronized を使用することです。

- (NSString *)someMethod {
  @synchronized(self) {
      // do some work
  }
}

メソッドを呼び出すことはできますが、それ自体で同期し、その作業 (さらに重要なことには、作業中のデータ) を保護します。

于 2012-08-25T12:25:19.973 に答える
0

NSLock を参照してください。

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSLock_Class/Reference/Reference.html

C# の lock ステートメントを探しているときに見つけたところ、同じことをしているように見えます..

同期に関連する別の SO スレッドもあります。

@synchronized は Objective-C でどのようにロック/ロック解除しますか?

于 2012-08-25T12:27:36.217 に答える