Objc中的锁

NSLocking协议

最基本的锁协议,所有的NS锁类都符合本协议,包含最基本的锁(lock)和解锁(unlock)。

除了上述协议之外,所有的锁都有类似阻塞线程一段时间的方法(lockBeforeDate:等)

NSLock

  最基础的锁,提供tryLock方法尝试对锁进行访问,返回标示锁是否可用的bool值而不会阻塞线程。

NSConditionLock

  按条件加解锁,就是简单的增加了一个int标示不同的锁,一把锁当多把来用。

NSRecursiveLock

  递归锁,能够支持在递归中使用而不会造成死锁,其实现的机制是按线程加锁,同样的线程不会进入阻塞,使用时需要注意。

NSCondition

  条件锁,通过wait方法阻塞线程,等待其他线程调用其signal方法发出信号以唤醒。

 

 

posted @ 2013-07-08 14:23  Joe.xi  阅读(199)  评论(0)    收藏  举报