请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

非公平锁的时候,写锁到底是怎么插队的?

new Thread(()-> write(),“Thread1”).start();
new Thread(()-> read(),“Thread2”).start();
new Thread(()-> read(),“Thread3”).start();
new Thread(()-> write(),“Thread4”).start();
new Thread(()-> read(),“Thread5”).start();

老师 ,false的时候,不是说,写锁可以插队吗?
那Thread1 在持有锁的时候,
Thread2 和 Thread3 都进来了,
那Thread4 进来的时候,不应该插队在2,3 前面吗?
所以 非公平的时候 ,写锁到底是怎么插队的?

正在回答 回答被采纳积分+3

1回答

悟空 2020-09-15 21:17:54

只有在申请锁的那一瞬间可以插队,一旦进入了等待队列,就不能插队了。

1 回复 有任何疑惑可以回复我~
  • 提问者 涛滔浪 #1
    写锁不是放到最前面吗?放后面的话,有什么意义?
    回复 有任何疑惑可以回复我~ 2020-09-15 21:19:33
  • 悟空 回复 提问者 涛滔浪 #2
    在获取锁的那一瞬间是可以插队,放到最前面的,本小节演示了这种情况呀
    回复 有任何疑惑可以回复我~ 2020-09-15 22:29:43
  • 提问者 涛滔浪 回复 悟空 #3
    哦。好的。
    回复 有任何疑惑可以回复我~ 2020-09-15 22:38:07
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信