Java没有死循环,能正常终止,与书中说的不一致??

java1.8  win7  64位

javaeffective第66条:

如果改成如下,则程序不终止:



#Java#
全部评论
我猜测,因为加入打印操作,线程需要切出去打印。产生了中断。所以有查探状态的可能,从而中止。
点赞 回复 分享
发布于 2019-05-08 22:27
你这个不能死循环呀
点赞 回复 分享
发布于 2019-05-08 21:45
m
点赞 回复 分享
发布于 2019-05-08 22:14
Print 函数自带同步,会直接锁住输出流变量,可能会访问主存。
点赞 回复 分享
发布于 2019-05-08 23:12
Print源码带synchronized的,然后再结合sych原理,当main锁住变量后就刷新到了内存,这个时候就刚好死循环运行到了63514
点赞 回复 分享
发布于 2019-05-08 23:15
sout的问题,忘记在哪本书上看到过,我当时也搞了好久
点赞 回复 分享
发布于 2019-05-08 23:26
确实会终止循环,但把while里面打印语句删除就会一直运行下去了,不知道为什么
点赞 回复 分享
发布于 2019-05-08 22:08
你的虚拟机可能运行在client模式下。
点赞 回复 分享
发布于 2019-05-08 23:16
点赞 回复 分享
发布于 2019-05-08 23:16

相关推荐

头像
昨天 15:46
已编辑
中南大学 后端
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
10-10 17:54
点赞 评论 收藏
分享
拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务