文章目录
一、进程与线程
二、并发
三、线程间通信
四、Java 并发 3 特性
一、进程与线程
----
最开始是没有线程这个概念的 , 一个应用程序就是一个进程 , 应用程序运行时 , 如果还要处理与用户交互的逻辑..., 程序计数器 , 三者都是线程独有的数据 ;
程序运行 的 指令 , 就放在 上面的 线程栈 中 ;
每个 线程栈 中都有 一串指令 , 等待执行 ;
这些线程栈 , 不能 串行 执行 , 必须 并发...线程 A 本地内存 中的 变量 a 副本进行了 +1 操作 , 主内存 和 线程 B 中的 a 变量 没有变化 ;
假如 线程 A 和 线程 B 同时对 本地内存 中的变量 a 进行操作 , 那么就有可能出现...a 取值异常的情况 ;
主内存 中的数据 , 对所有的线程都可见 ; 但是 线程 A 和 线程 B 之间 , 互相不知道对方线程 本地内存 中的数据 ;
这种情况就是线程不安全的情况 ;
四、Java...并发 3 特性
----
Java 并发的
3
特性 :
原子性 : 每个操作都是 不可拆分的原子操作 ; 在线程中进行 a++ 就不是原子操作 , 该操作分为
3
个步骤 , 首先从主内存中读取