美文网首页
iOS各种锁的描述

iOS各种锁的描述

作者: 忘川_之上 | 来源:发表于2017-01-18 12:16 被阅读23次

1、atomic  ->线程安全的,较影响性能  nonatomic -> 线程不安全,推荐使用的,从下图可以看出实际上atomic线程高并发时候也并不安全。

1

2、 @synchronized 的作用是创建一个互斥锁,保证在统一时间对对象的访问唯一,在下图中就已经可以保证线程访问安全了,不过需要注意的是这边的互斥锁锁的是要修改的对象的属性 的对象,就如下图中锁住的是self,而操作的是self的属性。

2

3、NSLock的使用

3

4、dispatch_semaphore利用信号量进行锁定

4

5、最后聊一下单类吧,全局有且只有一个dispatch_once_t,推荐使用dispatch_once的方法来书写,相对性能会好些

5

相关文章

  • iOS各种锁的描述

    1、atomic ->线程安全的,较影响性能 nonatomic -> 线程不安全,推荐使用的,从下图可以看出实...

  • iOS 各种锁

    概述 iOS多线程开发,会出现数据竞争,因此需要锁来保证线程安全。 线程安全 当一个线程访问资源时,需要保证其它的...

  • iOS 各种锁

  • iOS的各种锁

    本文主要是一个对各种锁的简单整理,方便后续查看回顾,毕竟锁在实际项目中用的比较少,再牛逼的知识点,老不用也记不住。...

  • ios开发中的各种锁机制

    ios开发中的各种锁机制

  • iOS 多线程

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

  • iOS各种锁总结

    OSSpinLock OSSpinLock自旋锁,因为自旋锁一直busy-waiting忙等待占用cpu,且不会像...

  • iOS 中的各种锁

    在日常开发过程中,为了提升程序运行效率,以及用户体验,我们经常使用多线程。在使用多线程的过程中,难免会遇到资源竞争...

  • iOS中的各种锁

    为什么要使用锁 1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源 比如多个线程访问同一个对象、同一...

  • iOS中的各种锁

    在日常开发过程中,为了提升程序运行效率,以及用户体验,我们经常使用多线程。在使用多线程的过程中,难免会遇到资源竞争...

网友评论

      本文标题:iOS各种锁的描述

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