iOS中的锁

作者: 没技术的BUG开发攻城狮 | 来源:发表于2017-04-13 18:17 被阅读5次

    在计算机科学中,锁是一种同步机制,用于在存在多线程的环境中实施对资源的访问限制。你可以理解成它用于排除并发的一种策略。

    例子

    if(lock == 0) {

    lock = myPID;

    }

    上面这段代码并不能保证这个任务有个锁,因此它可以在同一时间被多个任务执行。这个时候就有可能多个任务都检测到lock是空闲的,因此两个或者多个任务都将尝试设置lock,而不知道其他的任务也在尝试设置lock。这个时候就会出问题了。

    在iOS中,锁分为递归锁、条件锁、分布式锁、一般锁

    对于数据库的锁分类:

    锁的作用

    这个比较通俗来讲:就是为了防止在多线程(多任务)的情况下对共享资源(临界资源)的脏读或者脏写。也可以理解为:执行多线程时用于强行限制资源访问的同步机制,即并发控制中保证互斥的要求。

    相关文章

      网友评论

        本文标题:iOS中的锁

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