Objc中的锁
NSLocking协议
最基本的锁协议,所有的NS锁类都符合本协议,包含最基本的锁(lock)和解锁(unlock)。
除了上述协议之外,所有的锁都有类似阻塞线程一段时间的方法(lockBeforeDate:等)
NSLock 类
最基础的锁,提供tryLock方法尝试对锁进行访问,返回标示锁是否可用的bool值而不会阻塞线程。
NSConditionLock 类
按条件加解锁,就是简单的增加了一个int标示不同的锁,一把锁当多把来用。
NSRecursiveLock 类
递归锁,能够支持在递归中使用而不会造成死锁,其实现的机制是按线程加锁,同样的线程不会进入阻塞,使用时需要注意。
NSCondition 类
条件锁,通过wait方法阻塞线程,等待其他线程调用其signal方法发出信号以唤醒。

浙公网安备 33010602011771号