全部评论
m
unix和linux实现方式不一样
锁的value如果非0,其他线程到临界区的时候会被futex调用进入休眠,mutex.value为0时唤醒线程,从内核总线调用改为futex可避免频繁上下文切换
Mutex是一个结构体,里面包含了一个等待队列头,一个原子变量,一个自旋锁。工作机制可以差一下linux源码,
原子操作判断是否已被锁,具体可以搜索下相关资料
相关推荐
06-05 12:07
门头沟学院 C++ 点赞 评论 收藏
分享

点赞 评论 收藏
分享
06-09 19:55
郑州大学 算法工程师 点赞 评论 收藏
分享