File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed
Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -362,12 +362,17 @@ ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(1, //
362362
363363## JMM
364364
365- Java内存模型:线程之间的共享变量存储在主内存里,每个线程都有自己私有的本地内存,本地内存保存了共享变量的副本,线程对变量的操作都在本地内存中进行,不能直接读写主内存中的变量。
365+ Java内存模型:线程之间的共享变量存储在主内存里,每个线程都有自己私有的本地内存,本地内存保存了共享变量的副本,线程对变量的操作都在本地内存中进行,不能直接读写主内存中的变量。不同的线程之间也无法直接访问对方本地内存中的变量,线程之间值的传递都需要通过主内存来完成。
366366
367- 本地内存是JMM的一个抽象概念,并不真实存在,它包括缓存、写缓冲区、寄存器以及其他硬件和编译器优化。
367+ 线程a和线程b要想进行数据交换一般要经过下面的步骤:
368+
369+ 1 . 线程a把本地内存a中的更新过的共享变量刷新到主内存中去。
370+ 2 . 线程b到主内存中去读取线程a刷新过的共享变量,然后复制一份到本地内存b中去。
368371
369372![ ] ( https://gitee.com/tysondai/img/raw/master/image-20210909233258929.png )
370373
374+ 本地内存是JMM的一个抽象概念,并不真实存在,它包括缓存、写缓冲区、寄存器以及其他硬件和编译器优化。
375+
371376## 进程线程
372377
373378进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。
You can’t perform that action at this time.
0 commit comments