NSLock

作者: ZMJun | 来源:发表于2016-09-09 19:38 被阅读1793次

NSLock

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

OverView

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

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

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

Symbols

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

Naming the Lock name

Relationships

继承 NSObject

相关文章

  • 锁的使用

    一、NSLock 加锁lock 解锁unlock NSLock *lock = [[NSLock alloc]in...

  • iOS常见锁对象

    iOS常见锁对象: 1.互斥锁NSLock NSLock* lock = [[NSLock alloc] init...

  • NSLock

    NSLock实现了最基本的互斥锁,遵循了 NSLocking 协议,通过 lock 和 unlock 来进行锁定和...

  • NSLock

    NSLock NSLock 对象是在应用中用于协调多个线程操作。NSLock对象,可用于间接访问应用程序的全局数据...

  • 多线程-锁的几种实现

    主要内容 NSLock系 @synchronized dispatch_semaphore_t NSLock系 N...

  • NSLock/NSRecursiveLock/NSConditi

    使用NSLock类 在Cocoa程序中NSLock中实现了一个简单的互斥锁。所有锁(包括NSLock)的接口实际上...

  • iOS 常用的锁(Lock)讲解

    转自: iOS 常见知识点(三):Lock NSLock NSLock 遵循 NSLocking 协议,lock ...

  • iOS_Lock

    iOS-Lock 1. NSLock NSLock Apple Guide lock 和 unlock 需要在同一...

  • NSLock/NSConditionLock

    参考文档 参考文档中一共提到8种锁,讲解的很详细。后续可以抽空继续学习。暂且就其中的两种锁作一简单记录: NSLo...

  • NSLock, NSRecursiveLock

    NSLock 这是一个低级别的锁。一旦获取锁,执行则进入临界区,且不会允许超过一个线程并行执行。释放锁则标记临界区...

网友评论

      本文标题:NSLock

      本文链接:https://www.haomeiwen.com/subject/letyettx.html