首页 > 其他 > 详细

真正的互斥锁如何实现的思考

时间:2020-02-12 17:47:41      阅读:68      评论:0      收藏:0      [点我收藏+]

  Java语言里的Lock、synchornized实现了用户透明的获取互斥锁的功能,如果线程有先来后到,没有什么疑问,先来的先拿到锁,后来的等待,如果两个线程同时到达由哪个线程获取?这里的同时是真正意义上的同时,两个线程分别在两个核(假设多个核使用同一个时钟,没有验证过)同一时钟周期上开始获取锁,那由哪个获取锁?猜测这里可以使用操作系统提供的方法cmpxchg,在硬件上当多个核同时执行cmpxchg时,有总线仲裁模块决定哪个核锁总线成功,从而决定哪个核执行的线程获取锁成功。参考知乎回答: https://www.zhihu.com/question/353542624/answer/905449728

真正的互斥锁如何实现的思考

原文:https://www.cnblogs.com/caiyao/p/12299660.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!