1.@synchronized(token)
2.NSLock
3.dispatch_semaphore_t
4.OSSpinLock
这几种锁都可以带来原子性,性能的损耗从上至下依次更小.
在编写应用层代码的时候,除了OSSpinLock之外,哪个顺手用哪个.相较于这几个锁的性能差异,代码逻辑的正确性更为重要.而且这几者之间的性能差异对用户来说,绝大部分时候都感知不到.
1.@synchronized(token)
2.NSLock
3.dispatch_semaphore_t
4.OSSpinLock
这几种锁都可以带来原子性,性能的损耗从上至下依次更小.
在编写应用层代码的时候,除了OSSpinLock之外,哪个顺手用哪个.相较于这几个锁的性能差异,代码逻辑的正确性更为重要.而且这几者之间的性能差异对用户来说,绝大部分时候都感知不到.