java多线程的一个小坑

今日在测试volatile与synchronized特性的时候遇到的一个坑:    先上示例代码: 图1和图2代码本质上的区别是  新线程的i=i+1操作下多了println操作。 本质上的流程来说。讲status设置为false后应该打印i++多次后的结果。但是由于新线程status一开始是保存在工作内存中。 没有同步主内存中的status。因此while循环会一直执行。因此图1是正确的结果。但
相关文章
相关标签/搜索