美文网首页iOS开发之底层
iOS中的互斥锁,自旋锁,条件锁

iOS中的互斥锁,自旋锁,条件锁

作者: CyberDunk1997 | 来源:发表于2020-10-08 11:26 被阅读0次

    深入理解 iOS 开发中的锁:https://www.jianshu.com/p/ddbe44064ca4
    iOS中保证线程安全的几种方式与性能对比:https://www.jianshu.com/p/938d68ed832c
    iOS 常见知识点(三):Lock:https://www.jianshu.com/p/ddbe44064ca4
    [关于 @synchronized,这儿比你想知道的还要多]:http://yulingtianxia.com/blog/2015/11/01/More-than-you-want-to-know-about-synchronized/

    • 互斥锁(Mutex):是一种用于多线程编程中,防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。该目的通过将代码切片成一个一个的临界区而达成。
    • 自旋锁:是用于多线程同步的一种锁,线程反复检查锁变量是否可用。由于线程在这一过程中保持执行,因此是一种忙等待。一旦获取了自旋锁,线程会一直保持该锁,直至显式释放自旋锁。 自旋锁避免了进程上下文的调度开销,因此对于线程只会阻塞很短时间的场合是有效的。
    • 条件锁:就是条件变量,当进程的某些资源要求不满足时就进入休眠,也就是锁住了。当资源被分配到了,条件锁打开,进程继续运行。

    相关文章

      网友评论

        本文标题:iOS中的互斥锁,自旋锁,条件锁

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