并发
Lvshen的技术小屋
技术宅
展开
-
Java关键字——volatile底层原理分析
场景 volatile这个在多线程使用时能保证线程间的可见性。具体怎么用呢?举个例子: public class VolatileVisibilityTest { private static boolean initFlag = false; //private static volatile boolean initFlag = false; public static void main(String[] args) throws InterruptedExcepti原创 2020-09-03 14:19:48 · 210 阅读 · 0 评论 -
关于JUC并发包,你不得不知道的知识
「AQS」是AbstractQueuedSynchronizer的简称,它提供了一种等待唤醒的机制。底层核数据结构是双端队列。 采用自旋 + LockSupport + CAS来实现这种等待唤醒。在java的「JUC」并发包下很多类都是基于「AQS」实现的。下面我们来介绍几种并发类。 Semaphore 俗称「信号量」,用于控制在同一时间内共享资源被多少线程共享。可以作为流浪控制。 使用案例 /** *Description:信号量机制 * *@authorLvshen *...原创 2020-09-03 14:08:27 · 159 阅读 · 0 评论