06 2019 档案

摘要:前言 我的上一篇博客的案例中,请求锁的线程如果发现锁已经被其他线程占用,它是通过自旋的方式来等待的,也就是不断地尝试直到成功。本篇就讨论一下另一种方式,那就是挂起以等待唤醒。 注:相关代码都来自《Operating System: Three Easy Pieces》这本书。 自旋哪里不好? 先说明 阅读全文
posted @ 2019-06-30 10:56 猫毛·波拿巴 阅读(2370) 评论(0) 推荐(4) 编辑
摘要:以下内容针对互斥锁。 为什么需要锁? 锁代表着对临界区的访问权限。只有获得锁的操作对象,才能进入临界区。 锁的本质是什么? 锁的本质是一个数据结构(或者说是一个对象),这个对象内保留着描述锁所需要的必要信息。如当前锁是否已被占用,被哪个线程占用。而锁的一些工具,函数库,实际上就是对一个锁对象的信息进 阅读全文
posted @ 2019-06-17 16:54 猫毛·波拿巴 阅读(2055) 评论(0) 推荐(3) 编辑

点击右上角即可分享
微信分享提示