多线程学习(第二天)Java内存模型
2024-10-21 12:46:13
一、内存模型基础
Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式进行,整个通信过程对程序员完全透明。
如果编写多线程程序的Java程序员不理解隐式进行的线程之间通信的工作机制,很可能会遇到各种奇怪的内存可见性问题
二、JAVA内存模型的抽象结构
Java线程之间的通信由Java内存模型(本文简称为JMM)控制,JMM决定一个线程对共享
变量的写入何时对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽
象关系:线程之间的共享变量存储在主内存(Main Memory)中,每个线程都有一个私有的本地
内存(Local Memory),本地内存中存储了该线程以读/写共享变量的副本。本地内存是JMM的
一个抽象概念,并不真实存在。它涵盖了缓存、写缓冲区、寄存器以及其他的硬件和编译器优化。
最新文章
- Codeforces Round #365 (Div. 2)
- mysql关于or的索引问题
- 技术英文单词贴--S
- 自己写的AES和RSA加密解密工具
- PHP代码格式化批量脚本
- android webview网页控件
- 【 D3.js 高级系列 — 2.0 】 捆图
- OPStackComputeNodeMaintain
- Ubuntu下安装Hudson
- Swift基础之UIButton
- visual studio 中sstrcpy报错的问题
- B/S架构图解
- linux下socket的连接队列的 backlog的分析
- MongoError: no primary found in replicaset
- springbank 开发日志 springbank是如何注册handler的
- Python+opencv 图像拼接
- 一个将当前目录下HEX文件的第一行数据删除的程序
- 25.最小生成树(kruskal算法)
- 类似于GROUP BY SUM() 用于字符串连接的语句
- 数据库之各种键(Key)