NSLock
NSLock 对象是在应用中用于协调多个线程操作。NSLock对象,可用于间接访问应用程序的全局数据或者保护关键部分代码,允许他运行的更自然(atomically)。
OverView
Warning
NSLock类使用POSIX(可移植性操作系统接口)线程来实现上锁的特性。当NSLock类收到一个解锁的消息,你必须确定发送源也是来自那个发送上锁的线程。在不同的线程上解锁,会产生不定义行为。
你不应该把这个类实现递归锁。如果在同一个线程上调用两次lock
方法,将会对这个线程永久上锁。使用NSRecursiveLock
类来才可以实现递归锁。
解锁一个没有被锁定的锁是一个程序错误,这个地方需要注意。
Symbols
获得解锁
- lockBeforeDate:
在制定时间之前获取一个锁,使用后会返回一个bool来确定是否成功。
- tryLock:
请求一个实现锁定,使用后会返回一个bool来确定是否成功。
Naming the Lock name
Relationships
继承 NSObject
网友评论