An NSLock object

 

 

NSLock对象是用来同步同一个应用内多线程的执行操作。

NSLock对象可以用于同步应用全局数据的访问,或者用来保护临界区代码,使其以原子方式运行。

 

警告:NSLock类使用POSIX线程来实现它的锁行为。当给NSLock对象发送一个unlock消息时,必须保证该消息是从发送初始lock消息的同一个线程发送的。从不同的线程来释放一个锁会导致意想不到的行为。

 

不要用这个类来实现递归锁,在同一个线程调用lock方法两次会永久锁起你的线程。用NSRecursiveLock来代替NSLock来实现递归锁。

unlock一个没有lock的锁被认为是编码错误,应该在代码中修正过来。当这种错误出现时,NSLock类通过打印错误消息到控制台来报告该错误。

你可能感兴趣的:(多线程,object)