Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何停止第二个线程以访问第一个线程正在使用的相同方法?
一种选择是在方法中使用@synchronized。
- (NSString *)someMethod { @synchronized(self) { // do some work } }
它允许调用该方法,但会自行同步并保护它的工作(更重要的是它正在处理的数据)。
看看 NSLock。
https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSLock_Class/Reference/Reference.html
刚刚在寻找 C# lock 语句时发现它,它似乎做同样的事情..
还有另一个与同步有关的 SO 线程:
在 Objective-C 中 @synchronized 如何锁定/解锁?