多线程。。。

多线程。。。

sleep方法不释放锁 那怎么给别的线程运行机会呢
http://img1.sycdn.imooc.com//climg/5dcb7f4a08c33d0909920134.jpg

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

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

2回答
芝芝兰兰 2019-11-13 15:45:15

同学你好。

1、线程运行不需要对象锁,对象锁是指synchronized。线程运行跟有没有对象锁没有关联。

2、如果同学的代码中,线程持有了某个对象锁,那么这个线程在sleep之后仍然会保持对象锁。

3、在synchronized关键字管辖的代码内部调用wait方法,可以释放当前的锁。然后这个线程会加入锁定的那个对象的等待队列中,也就是阻塞状态。


如果解答了同学的疑问,望采纳~

祝学习愉快~


芝芝兰兰 2019-11-13 15:22:37

同学你好。

线程运行sleep方法,就是指让当前正在运行的占用cpu时间片的线程挂起,把CPU的时间片交给其他线程,只是并没有指定把CPU的时间片接下来到底交给哪个线程,而是让这些线程自己去竞争(一般操作系统会根据优先级调度)

http://img1.sycdn.imooc.com//climg/5dcbaf3b095b47e212740751.jpg

有关sleep方法的详情可以参考零基础入门课程中 Java多线程的 3-3节 sleep方法的使用。

如果解答了同学的疑问,望采纳~

祝学习愉快~

  • 线程运行不是需要对象的锁嘛 都没有释放锁 下一个线程怎么运行呀
    2019-11-13 15:24:52
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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