美文网首页
iOS开发中常用的锁

iOS开发中常用的锁

作者: lfp901020 | 来源:发表于2017-12-19 10:23 被阅读15次

    iOS开发中常用的锁有如下几种

    来比较一下遇到加锁的情况:

    1. @synchronized 关键字加锁

    2. NSLock 对象锁

    3. NSCondition

    4. NSConditionLock 条件锁

    5. NSRecursiveLock 递归锁

    6. pthread_mutex 互斥锁(C语言)

    7. dispatch_semaphore 信号量实现加锁(GCD)

    8. OSSpinLock (暂不建议使用,原因参见这里)

    //分别使用8种方式加锁 解锁1千万次

    - (void)runLock{

    CFTimeInterval timeBefore;

    CFTimeInterval timeCurrent;

    NSUInteger i;

    NSUInteger count = 1000*10000;//执行一千万次

    //@synchronized

    id obj = [[NSObjectalloc]init];;

    timeBefore = CFAbsoluteTimeGetCurrent();

    for(i=0; i

    相关文章

      网友评论

          本文标题:iOS开发中常用的锁

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