内存模型8大原子操作---非volatile
2022-08-03 20:36:57 6 举报
JMM8大原子操作(read/load/lock/unlock/use/assign/write/store)
作者其他创作
大纲/内容
flag = true
主内存
2.load
flag = false
CPU
main线程
5.load
6.use
9.write
3.use
4.read
1.read
public class Test { public static boolean flag = false; public static void main(String[] args) throws Exception { Thread t1 = new Thread(new Runnable() { @Override public void run() { //子线程休眠1s,让主线程启动后再去修改flag try { TimeUnit.SECONDS.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } //TODO: 修改成员变量 flag = true; System.out.println(\"子线程修改了flag = \" + flag); } }); t1.start(); while (true) { if (flag) { System.out.println(\"主线程退出\"); break; } } }}
工作内存
总线
变量副本
8.store
t1 线程
变量副本
工作内存
7. assign
0 条评论
回复 删除
下一页