问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么在while内的synchronized代码块中使用sleep之后notify没有释放锁,而是一直执行当前代码块语句?

发布网友 发布时间:2022-05-24 07:44

我来回答

3个回答

热心网友 时间:2023-10-08 23:11

我的理解是:
线程并发执行,是通过cpu时间片轮转执行的,当你时间片执行完,线程1还占用着锁,线程2就会等待不会执行,然后线程1继续执行下一个时间片;
如果时间片执行完,线程1是没有占用锁,线程2才能执行;你在同步代码外面加了一句输出语句,只不过加大了时间片执行完线程是进行到同步代码块外的可能;
你可以试试去掉那句输出,也可能另一个线程也执行得到。

热心网友 时间:2023-10-08 23:11

notify语句释放锁来唤醒wait后,并不会立即执行,而是消费者与商家两个线程抢夺锁,谁抢到执行谁。
而sleep语句放到同步代码块外,可以人为保证消费者线程一定可以抢到锁

热心网友 时间:2023-10-08 23:12

notify只是唤醒线程,但没有立即释放锁,只有当synchronized代码块执行结束后才释放锁,所以将while循环放入同步代码块中调用notify会一直执行
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
是选诺顿杀毒软件好还是NOD32好? 诺顿好还是NOD32好???请高手指点 诺顿安全软件和ESET NOD32安全软件相比,谁的防护.杀毒更强,功能更多... 诺顿和NOD32这两个杀毒软件哪个比较好? 什么是土地二次抵押 "口似含莲,乾姜之手"是什么意思? 乾姜的意思是什么 都说Pinnacle Food公司各方面做的好,有对这家了解的吗 空调蒸发箱多久清洗一次 空调蒸发箱需要清洗吗 苹果xr流量设置 外地手机号能过户到锦州吗? 锦州移动手机号码如何过户 在JAVA技术中wait(),notifyAll(),sleep(),yield(),synchronized(this)哪个方法可以在任何时候被任任何线程 在Java中,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 【写诗词】【写诗词】【写诗词】【写诗词】【写诗词】【写诗词】 在程序中使用wait()或notify()方法时为什么一定要加上Synchronized 最高分悬赏有追加,求藏头藏尾诗! java 中synchronized中wait方法是让当前线程等待,并抛出锁的拥有权,而同一个块中notify方法是干嘛的 synchronized问题,看看是谁在wait 关于synchronized wait() notify()的用法,代码如下,请大神帮我解释一下该程序怎么运行的啊.. 作文我的课余生活六百个字我最喜欢的看书 路由算法 链路状态路由算法的算法特征 常见的两个动态路由选择算法是距离矢量路由算法和什么? 现在有种屏幕录像软件在录制的时候右下角是个红点在闪。那个软件叫什么名? 屏幕黑色时显示闪烁红点 莲花竞速汽车,行驶中仪表盘中间小红点灯一直闪烁,这是什么原因? Los一闪一闪红点怎么回事? 显示屏上有好多闪烁红色的小红点 是什么状况 屏幕出现红点,并且一直在闪烁,什么问题 到啊里可以买到和自己生日一样的手机号码呢?(辽宁锦州地区) 锦州手机号18841667700。抵消58能值多少钱? 内存卡在电脑上显示,却读不出来,一点击就提示让格式化,但还无法进行格式化。是怎么回事?要怎么解决? 求超级感人表白的话100+字 收集各种表白的话 微信怎么样才能让对方永远搜不到我的? 请问,同一个二台手机怎样能看到另一台手机微信的聊天记录? 如何只让一个人搜不到我的 为什么有些搜索不到怎么办? 有什么办法可以让别人搜不到我的? 微信怎么设置搜索不到 怎么样让某一个人彻底搜不到自己, 为啥我的别人搜不到!!!显示不存在???怎么回事 怎么设置让别人搜不到你 怎么设置让别人搜不到你 为什么搜不到 明明是他的,为什么搜索显示不存在呢? 怎么让某个人搜不到自己的 同一个别人都能搜到只有我搜不到是他设置了什么? 怎样使自己微信搜不到