美文网首页iOS
iOS 多线程安全锁

iOS 多线程安全锁

作者: 说不出口的喵 | 来源:发表于2018-08-15 17:48 被阅读11次

互斥锁特点:如果共享数据已经有其他线程加锁了,线程会进入休眠状态等待锁。一旦被访问的资源被解锁,则等待资源的线程会被唤醒。

自旋锁:如果共享数据已经有其他线程加锁了,线程会以死循环的方式等待锁,一旦被访问的资源被解锁,则等待资源的线程会立即执行。性能最高的锁,OSSpinLock已经不再安全,不再使用。

信号量:一个线程完成了操作完共享数据后,就通过发出信号量告诉别的线程,你们现在可以用这块共享资源了。

性能比较:OSSpinLock > dispatch_semaphore > NSLock > NSRecursiveLock > NSConditionLock > @synchronized.

生产环境一般推荐使用dispatch_semaphore。

相关文章

  • OC--各种线程锁

    参考:正确使用多线程同步锁@synchronized()iOS中的锁iOS多线程安全详解iOS 常见知识点(三):...

  • iOS 多线程

    iOS中的各种锁iOS多线程到底不安全在哪里?

  • 起底多线程同步锁(iOS)

    起底多线程同步锁(iOS) 起底多线程同步锁(iOS)

  • iOS开发中常用的几种锁

    iOS开发中常用的几种锁 简介: 操作系统在进行多线程调度的时候,为了保证多线程安全引入了锁的机制,以实现指定代码...

  • 多线程 (三)iOS中的锁

    ios 多线程--锁

  • 线程安全与锁

    IOS编码中,锁的出现其实是因为多线程安全的问题。那么,问题来了,什么是线程安全?为什么锁可以解决线程安全问题?单...

  • iOS多线程安全-锁

    声明:本文主要参考文章iOS多线程安全-13种线程锁[https://juejin.cn/post/6844903...

  • iOS的线程安全与锁

    在iOS编码中,锁的出现其实是因为多线程会出现线程安全的问题。那么,问题来了,什么是线程安全?为什么锁可以解决线程...

  • iOS多线程到底不安全在哪里?

    iOS多线程到底不安全在哪里? iOS多线程到底不安全在哪里?

  • iOS 多线程安全锁

    互斥锁特点:如果共享数据已经有其他线程加锁了,线程会进入休眠状态等待锁。一旦被访问的资源被解锁,则等待资源的线程会...

网友评论

    本文标题:iOS 多线程安全锁

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