NSLock

NSLock

NSLock 对象是在应用中用于协调多个线程操作。NSLock对象,可用于间接访问应用程序的全局数据或者保护关键部分代码,允许他运行的更自然(atomically)。

OverView

Warning
NSLock类使用POSIX(可移植性操作系统接口)线程来实现上锁的特性。当NSLock类收到一个解锁的消息,你必须确定发送源也是来自那个发送上锁的线程。在不同的线程上解锁,会产生不定义行为。

你不应该把这个类实现递归锁。如果在同一个线程上调用两次lock方法,将会对这个线程永久上锁。使用NSRecursiveLock类来才可以实现递归锁。

解锁一个没有被锁定的锁是一个程序错误,这个地方需要注意。

Symbols

获得解锁
- lockBeforeDate: 在制定时间之前获取一个锁,使用后会返回一个bool来确定是否成功。
- tryLock: 请求一个实现锁定,使用后会返回一个bool来确定是否成功。

Naming the Lock name

Relationships

继承 NSObject

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容