美文网首页
2018-07-31

2018-07-31

作者: 沉溺IOS | 来源:发表于2018-08-25 11:04 被阅读0次

各🔒的性能对比

对以上各个锁进行1000000此的加锁解锁的空操作时间如下:

OSSpinLock:                          46.15 ms

dispatch_semaphore:          56.50 ms

pthread_mutex:                    178.28 ms

NSCondition:                          193.38 ms

NSLock:                                  175.02 ms

pthread_mutex(recursive):  172.56 ms

NSRecursiveLock:                  157.44 ms

NSConditionLock:                  490.04 ms

@synchronized:                      371.17 ms

总的来说:

OSSpinLock和dispatch_semaphore的效率远远高于其他。

@synchronized和NSConditionLock效率较差。

鉴于OSSpinLock的不安全,所以我们在开发中如果考虑性能的话,建议使用dispatch_semaphore。

如果不考虑性能,只是图个方便的话,那就使用@synchronized。

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

作者:景铭巴巴

链接:https://www.jianshu.com/p/938d68ed832c

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

相关文章

网友评论

      本文标题:2018-07-31

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