首先实现线程安全的queue的方式很很多种,比如说方法全部加锁,再或者使用基于CAS的LinkedQueue。然后...[作者空间]
前言 Exchanger是JUC里提供的供两个线程之间交换数据或者交互的一个并发工具,API也非常简单就两个重载的...[作者空间]
前言 Semaphore一种通常用于维持数量的信号量工具,在Java 并发中最常见的使用就是维持并发线程的个数,正...[作者空间]
前言 CountDownLatch 用于使一组线程(1 or n)等待一个外部任务的完成。很多人将它称为闭锁,可以...[作者空间]
前言 首先明确一点,ReentrantReadWriteLock 指的并不是一个锁,而是管理着读锁&写锁这样的一组...[作者空间]
前言 Reentrant是一种可重入锁,是一种递归无阻塞的同步机制。实现了和synchronized类似的同步策略...[作者空间]
JDK 10,可以说是很新了,比起JDK 8更新了不少实现,比如说下面会讲到VarHandle 说了这么多篇原理类...[作者空间]
基础概念 volatile 是一个Java 中的关键字,一个提供基础同步属性的关键字。针对JVM重排序在并发场景下...[作者空间]
一点闲扯 开始说AQS之前,继续说上一篇没说完的建议,相对于看一些不知道时效性的blog,说实话,理解一个知识点最...[作者空间]
对象头 再说偏向锁之前先来看一下Java 对象头,Java 对象是分为 对象头、实例数据、对齐填充三部分,创建一个...[作者空间]
sychronized 用法 sychronized 是Java语法层面的同步策略,可以用来修饰instance变...[作者空间]
前言 CAS 可以简单描述比较并交换,Java中轻量级锁的理论支持。CAS很早就出现了,并且以此为理论基础实现了很...[作者空间]
前言 在说Executor前, 先来看一下线程创建的几种方式:1、继承Thread类创建线程2、 实现Runabl...[作者空间]
前言 死锁是一个比较大的概念,在并发场景下的加锁行为都有可能产生死锁问题。在Java 并发编程中会有死锁,操作系统...[作者空间]
前言 并发能够帮助我们完成资源的高效利用,业务逻辑的解耦。但是同时并发也带来了一些问题,比如说数据的并发安全问题。...[作者空间]
前言 CyclicBarrier 是JUC 所提供的比较好用且应用面十分广泛的一个并发工具。CyclicBarri...[作者空间]
前言 HashMap是我们生产过程中使用较多的一个数据结构,平时非并发场景使用的HashMap,并发场景下使用的H...[作者空间]
看Concurrent包源码时,其中存在大量的内部类使用,所以特地抽出一篇来介绍内部类。内部类其实是Java 经常...[作者空间]
在写Java Concurrent之前的铺垫。 前言: 并发可能在许多刚接触编程的程序员眼中显得高大上或者多余,因...[作者空间]