美文网首页
NSRecursiveLock

NSRecursiveLock

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

    递归锁,顾名思义,可以被一个线程多次获得,而不会引起死锁。它记录了成功获得锁的次数,每一次成功的获得锁,必须有一个配套的释放锁和其对应,这样才不会引起死锁。只有当所有的锁被释放之后,其他线程才可以获得锁

    NSRecursiveLock *theLock = [[NSRecursiveLock alloc] init];
    void MyRecursiveFunction(int value) {     
     [theLock lock];     
     if (value != 0)     
     {         
      --value;         
      MyRecursiveFunction(value);     
     }     
     [theLock unlock]; 
    } 
    MyRecursiveFunction(5);
    

    相关文章

      网友评论

          本文标题:NSRecursiveLock

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