多线程访问共享变量内存图。主内存、工作内存与多线程之间的关系
2018-11-20 13:37:28 0 举报
多线程访问共享变量内存图。主内存、工作内存与多线程之间的关系
作者其他创作
大纲/内容
回写到主内存-共享变量中
结论=线程thread1访问到的数据可能是线程thread2修改过的结果。即线程thread2可能抢到了cpu资源,接着拷贝共享变量person到工作内存中,通过函数修改了工作内存中的person拷贝,然后将结果回写到主内存中的person变量中。这样,导致thread1读到了非预期的数据。因为主内存中的共享变量person是全局变量。
thread2线程将person对象拷贝到工作内存中
主内存
private static Person person = new Person(\"1111\
thread1线程将person对象拷贝到工作内存中
工作内存
person变量存储在主内存中。person是共享变量,是被所有的线程所共享的。
0 条评论
下一页