iOS多线程中的锁 十二月 1, 2017 发布在 iOS 涉及到多线程共享资源的情况下就避免不了资源竞争的问题,这时候就会用到各种锁,例如,@synchronized、NSLock、OSSpinLock等等,虽然都是锁,但是锁的底层实现也不尽相同。大概可以分为:互斥锁、自旋锁、递归锁、 读写锁。 { lock()//加锁 doSomeThing()//临界区 unlock()//解锁 } 我们锁的目的是在任何时刻最多只能有一个线程在修改资源,即在任何时刻只能有一个操作者保持锁。 阅读全文