java中有方法修饰符,例如public synchronized func()
,这样可以保证这个方法在某个时间点只会被一个对象调用,OC有没有这样的方法啊,假如排除NSlock这种方法的话。
java中有方法修饰符,例如public synchronized func()
,这样可以保证这个方法在某个时间点只会被一个对象调用,OC有没有这样的方法啊,假如排除NSlock这种方法的话。
2 回答2k 阅读✓ 已解决
2 回答1k 阅读
1 回答1.1k 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.5k 阅读
1 回答1.5k 阅读
1 回答1.4k 阅读
方法级别的控制没有语言级别的修饰符,可以将代码块加锁。
加锁的方法很多。
@synchronized
NSLock
pthread_mutex
dispatch_semaphore
OSSpinLock
1. @synchronized
2. NSLock
3. pthread_mutex
4. dispatch_semaphore
5.OSSpinLock
由于自旋锁在iOS中不再安全,这边也不介绍了,具体可以看这篇博客
不再安全的 OSSpinLock