美文网首页
多线程-锁性能

多线程-锁性能

作者: Berning | 来源:发表于2023-11-14 10:27 被阅读0次

性能从高到低

  • os_unfair_lock
  • OS_SPinLock
  • dispatch_semaphore
  • pthread_mutex
  • dispatch_serial_queue
  • NSLock
  • NSCondition
  • pthread_mutex(recursive)
  • NSRecuresiveLock
  • NSConditionLock
  • @synchronized

互斥锁、自旋锁比较

  • 自旋锁

1>预计等待锁的时间较短;
2>加锁的代码(临界区)经常被调用,但竞争情况很少发生;
3> CPU资源不紧张;
4> 多核处理器

  • 互斥锁

1> 预计等待锁的线程较长;
2> 单核处理器;
3> 临界区有IO操作;
4> 临界区代码复杂或循环量大,竞争非常激烈 ;

相关文章

  • iOS端sqlite3 的线程安全

    sqlite3 多线程和锁 ,优化插入速度及性能优化这篇博客,着重介绍了sqlite3 多线程和锁。这里针对iOS...

  • iOS 锁的使用

    参考 demo 参考的文章:iOS开发中的11种锁以及性能对比多线程-线程安全 结论: 自旋锁性能 > 信号量 >...

  • JDK1.6之后 Synchronized优化

    Synchronized锁性能优化偏向锁轻量级锁升级 多线程中篇 不止一次的提到过,synchronized是Ja...

  • 多线程(四) @synchronized

    多线程出现最多的就是安全问题,解决多线程安全问题就是加锁。锁的种类有很多,每种锁使用场景、性能上都有所不同,我们写...

  • OC底层探索25、多线程 - 锁

    多线程的安全离不开锁的使用,常见锁的性能: 一、锁的分类 关于同步的Apple文档[https://develop...

  • Java多线程--锁的优化

    Java多线程--锁的优化 提高锁的性能 减少锁的持有时间 一个线程如果持有锁太长时间,其他线程就必须等待相应的时...

  • iOS中的锁

    锁是一种同步机制,用于多线程环境中对资源访问的限制iOS中常见锁的性能对比图(摘自:ibireme): iOS锁的...

  • iOS开发常用的几种锁!

    前言 开发中引入了异步和多线程的来提高程序性能,也就意味着线程安全成为了多线程的一个障碍,因此线程锁应运而生,而锁...

  • iOS常用的几种锁

    前言 开发中引入了异步和多线程的来提高程序性能,也就意味着线程安全成为了多线程的一个障碍,因此线程锁应运而生,而锁...

  • iOS常用的几种锁

    前言 开发中引入了异步和多线程的来提高程序性能,也就意味着线程安全成为了多线程的一个障碍,因此线程锁应运而生,而锁...

网友评论

      本文标题:多线程-锁性能

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