关于锁

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

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

源码验证:

原文地址:https://www.cnblogs.com/lit10050528/p/7580472.html