天天看点

java多线程 JUC

所谓java多线程,即Java 并发包 java.util.concurrent下面所有的类。

  1. 线程
  2. Java内存模型
  3. 线程安全
  4. CAS
  5. AQS
  6. JUC相关类总结梳理

线程

什么是线程

线程和进程的区别

Java怎么实现线程的

Java内存模型

为了屏蔽掉各种硬件和操作系统的内存访问差异,以实现Java程序在各种平台下都能达到一致的并发效果,Java虚拟机规范中定义了Java内存模型。

所以说,Java内存模型是一种规范,规范了java虚拟机与计算机内存是如何协同工作;

Java内存模型规定了一个线程如何及何时 可以看到 其他线程修改过 的共享变量的值,以及在必须时,如何同步的访问 共享变量。

*建议以上文字背会多品品 *

堆栈

线程、内存

线程安全

原子性:【JUC下 atomoic包】提供了互斥访问,同一时刻只能有一个线程对它进行操作

可见性:【volatile】一个线程对主内存的修改可以及时的被其他线程观察到

有序性:【Lock 同步锁】一个线程观察其他线程中的指令执行顺序,由于指令重排序的存在,该观察结果一般杂乱无序

CAS

AQS

JUC相关类总结梳理