线程工作内存与主内存

来源:互联网 发布:荣誉证书在线制作软件 编辑:程序博客网 时间:2024/06/11 07:38

线程工作内存是cpu寄存器和高速缓存的抽象描述,使用频率高的数据从主存拷贝到高速缓存中,每个线程在cpu高速缓存中对拷贝的数据进行读取、计算、赋值,再在合适的时候同步更新到主存的该数据,如i=1,i+1=2,若2在更新到主存前,其他线程是不知道该值被改变了,其他线程高速缓存中该值依然为1.

解决方法:需要各线程间可见的变量前加上volatile修饰,在一个线程的高速缓存中改变该值时,其他线程会获得该值的更新值。

转载地址