【并发编程】Atomic原子类

2020-11-06
阅读 12 分钟
2.9k
原子(atomic)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为“不可被中断的一个或一系列操作”。

【并发编程】浅析AQS及并发工具类(Semaphore、CountDownLatch 、CyclicBarrier)

2020-11-05
阅读 24 分钟
1.5k
AQS 的全称为(AbstractQueuedSynchronizer),中文即“队列同步器”,这个类放在 java.util.concurrent.locks 包下面。

【并发编程】浅析ReentrantLock与ReadWriteLock

2020-11-04
阅读 21 分钟
2k
在Lock接口出现之前,Java程序是靠synchronized关键字用来实现锁功能,使用时隐式地获取和释放锁,但是它将锁的获取和释放固化了。

【并发编程】volatile

2020-11-03
阅读 13 分钟
2k
JMM(Java Memory Model),是一种基于计算机内存模型(定义了共享内存系统中多线程程序读写操作行为的规范)并屏蔽了各种硬件和操作系统的访问差异,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制及规范。

【并发编程】park与unpark、notify与notifyAll

2020-11-01
阅读 14 分钟
2.6k
<img src="https://img-blog.csdnimg.cn/20200929220833538.png" style="zoom:80%;" />

【并发编程】深入理解synchronized原理

2020-10-29
阅读 17 分钟
3.2k
通信是指线程之间以何种机制来交换信息。Java中并发采用的是共享内存模型,在共享内存的并发模型里,线程之间共享程序的公共状态,通过写-读内存中的公共状态进行隐式通信。

【并发编程基础】线程基础(方法、状态)

2020-10-27
阅读 20 分钟
997
<img src="https://img-blog.csdnimg.cn/20200929220833538.png" style="zoom:80%;" />

【并发编程】线程上下文切换

2020-10-22
阅读 3 分钟
2.2k
单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。(时间片是CPU分配给各个线程的时间,因为时间片非常短,一般是几十毫秒,所以CPU通过不停地切换线程执行,让我们感觉多个线程是同时执行的)。