NSLock

作者: 张霸天 | 来源:发表于2016-12-26 21:44 被阅读25次

    NSLock实现了最基本的互斥锁,遵循了 NSLocking 协议,通过 lock 和 unlock 来进行锁定和解锁。其使用也非常简单

    - (void)doSomething {
       [self.lock lock];
       //TODO: do your stuff
       [self.lock unlock];
    }
    

    由于是互斥锁,当一个线程进行访问的时候,该线程获得锁,其他线程进行访问的时候,将被操作系统挂起,直到该线程释放锁,其他线程才能对其进行访问,从而却确保了线程安全。但是如果连续锁定两次,则会造成死锁问题。那如果想在递归中使用锁,那要怎么办呢,这就用到了 NSRecursiveLock 递归锁。

    相关文章

      网友评论

        本文标题:NSLock

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