美文网首页iOS
浅谈:OC都有哪些锁机制

浅谈:OC都有哪些锁机制

作者: iOS小吴 | 来源:发表于2019-02-20 15:50 被阅读0次

1:NSLock  对于资源抢占问题我们可以考虑使用同步锁NALock来解决,使用时把需要加锁的代码放到NSLock的lock和unlock之间,一个线程A进入加锁代码以后,另一个线程B就无法访问了,只能等线程A执行完加锁代码后解锁,B线程才能访问加锁代码。

2:@Synchronized代码块 (相比NSlock简单一点 也是解决同步线程问题)

3:使用GCD解决资源抢占问题 -GCD提供一种信号机制,(和同步锁的机制并不一样)

4:扩展-控制线程通信   由于线程的调度时透明的,程序有时候很难对他进行有效的控制,iOS提供了NSCondition来控制线程通信(同GCD信号机制类似)

5:其他锁

NSRecursiveLock:递归锁 有时候加锁代码中存在递归调用,递归开始前加锁,递归开始调用后重复执行此方法以至于加锁代码照成死锁

NSDistributedLock:分布锁,它本身时一个互斥锁,基于文件方式实现锁机制,可以跨进程访问

pthread_mutex_t:同步锁,基于C语言的同步锁机制,使用方法与其他同步锁机制类似

https://www.jianshu.com/p/c6661d632160 面试题目

相关文章

  • 浅谈:OC都有哪些锁机制

    1:NSLock 对于资源抢占问题我们可以考虑使用同步锁NALock来解决,使用时把需要加锁的代码放到NSLock...

  • 数据库为什么需要锁机制?有哪些锁机制?

    数据库为什么需要锁机制?有哪些锁机制?

  • GO 互斥锁sync.Mutex (1)

    在去学习go语言锁机制的时候,我会问自己几个问题: 1.锁是什么 ,为什么要用锁?2.都有哪些锁怎么用?3.出现问...

  • Java锁膨胀

    前言 到这里,大家应该都知道,Java中都有哪些锁,做什么用的了; 那么,不知道大家有没有听过Java锁的膨胀机制...

  • 锁和并发控制

    原博文有图,做得很漂亮~浅谈数据库并发控制 - 锁和 MVCC 常见的三种并发控制机制: 悲观锁 乐观锁 多版本并...

  • iOS多线程

    iOS的锁机制?都有哪些锁?相同点:都能保证同一时间只有一个线程访问共享资源。都能保证线程安全。不同点:互斥锁:如...

  • iOS 锁

    锁的考察:如NSLock、递归锁、自旋锁、条件锁 等等不同的锁1.OC你了解的锁有哪些?在你回答基础上进行二次提问...

  • 从一道网易面试题浅谈OC线程安全

    从一道网易面试题浅谈OC线程安全 从一道网易面试题浅谈OC线程安全

  • iOS runtime

    runtime 是 oc 语音的基础首先runtime的核心机制是消息机制 也就是oc的消息机制首先oc的消息机制...

  • iOS都有哪些锁

    iOS都有哪些锁:synchronized 、atomic、oSSpinLook、NSLock、dispatch_...

网友评论

    本文标题:浅谈:OC都有哪些锁机制

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