超神~java内存模型~基本概念
2017-04-07 14:13
281 查看
什么是内存模型:
内存模型是一个规范,规定了多个线程之间对共享内存访问的策略.
什么是线程:
cpu调度的最小单位,线程本身不拥有系统资源,同一个进程间的线程共享资源
线程通信:
指的是线程之间的信息交换,线程之间通信通过共享内存和消息传递来实现.
线程同步:
指的是控制不同线程的执行相对顺序的机制.并发编程一般需要程序员自己去控制.
共享内存有哪些:
实例域,静态域,和数组元素.
如上图所示:
内存模型所定义的是线程私有的内存和主内存之间的交互关系,线程之间的共享变量存储在主内存中,每个线程都有一个私有的本地内存,本地内存中存储了该线程以读/写共享变量的副本.两个线程如果通过共享变量进行通信的话,要做到两点,一个是,将改变以后的本地副本刷新到主内存,另一个是保证本地副本和主内存一致(保证最新).
总结:
内存模型对进行并发编程的程序员来说非常重要,如果不能够清楚的预判内存变化,很可能会引发内存可见性的问题
内存模型是一个规范,规定了多个线程之间对共享内存访问的策略.
什么是线程:
cpu调度的最小单位,线程本身不拥有系统资源,同一个进程间的线程共享资源
线程通信:
指的是线程之间的信息交换,线程之间通信通过共享内存和消息传递来实现.
线程同步:
指的是控制不同线程的执行相对顺序的机制.并发编程一般需要程序员自己去控制.
共享内存有哪些:
实例域,静态域,和数组元素.
如上图所示:
内存模型所定义的是线程私有的内存和主内存之间的交互关系,线程之间的共享变量存储在主内存中,每个线程都有一个私有的本地内存,本地内存中存储了该线程以读/写共享变量的副本.两个线程如果通过共享变量进行通信的话,要做到两点,一个是,将改变以后的本地副本刷新到主内存,另一个是保证本地副本和主内存一致(保证最新).
总结:
内存模型对进行并发编程的程序员来说非常重要,如果不能够清楚的预判内存变化,很可能会引发内存可见性的问题
相关文章推荐
- Java内存模型总结-基本概念
- CDN的基本概念和产生背景
- 【数据结构与算法】【排序】基本概念
- C语言—基本概念
- LXC/KVM虚拟化基本概念
- Ajax基本概念
- Oracle基本概念
- C#学习基本概念之关键字---delegate(委托)
- 视频流GPU解码在ffempg的实现(一)-基本概念
- 推荐系统实战 初学之路笔记(1)--推荐系统基本概念
- C++复习第一天 C++基本概念
- 正则表达式-基本概念与简单元字符
- 网络基本概念
- 存储基本概念(2)
- 图像中涉及的基本概念
- Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理
- 软件工程基本概念
- WCF学习之基本概念的理解
- 聚类分析:基本概念梳理
- Flexbox布局(CSS3 弹性布局,Flexible Box)之 基本概念解析