老师好,我有synchronize的疑问?

老师好,我有synchronize的疑问?

代码加了synchronized变成同步了那执行Thread.sleep(1000);当前线程放弃cpu使用权,下次得到cpu使用权还是那个线程在执行吗?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,在线程同步的这节课当中,我们为了能够解决银行在同一个时刻有很多的用户都在存取款的情况,我们在方法体当中加入了sleep()方法让线程从“正在运行Runnable”的状态到了“组测Blocked”的状态,这个时候因为:各个线程是通过竞争CPU时间而获得运行机会的、并且伊哥正在运行着的线程在什么地方被暂停的不确定的。因此我们使用synchronized关键字让一个线程运行的时候不允许其他线程对账户余额进行操作。因此加了synchronized关键字并且执行sleep(1000);并没有放弃cpu的使用权,也不存在下次得到cpu使用权的这种说法~

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • “阻塞Blocked”
    2020-04-04 16:38:15
  • 不是“伊哥”是“一个”
    2020-04-04 16:39:12
  • Jess001 提问者 #3
    你好,就是加了synchronized的方法会执行完这个线程以后在执行下一个线程,无论有没有Thread.sleep(1000)?
    2020-04-04 17:08:32
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师