美文网首页
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