关于锁

接上一篇中关于条件变量的讨论,在上一篇的末尾,想到一个问题,mutex是如果实现锁的功能的?通过一个标志位么?那么这个标志位存在哪呢?如果是多核的呢?

推测:底层提供一个原子操作(CAS)来实现查看并设置一个标志位,如果不成功就把线程挂起(放到一个等待队列里面)。

源码验证:

posted @ 2017-09-23 10:31  冷冰若水  阅读(168)  评论(0编辑  收藏  举报