JUC
-
硬核干货:4W字从源码上分析JUC线程池ThreadPoolExecutor的实现原理
前提 很早之前就打算看一次JUC线程池ThreadPoolExecutor的源码实现,由于近段时间比较忙,一直没有时间整理出源码分析的文章。之前在分析扩展线程池实现可回调的Futu…
-
Java协程编程之Loom项目尝鲜
前提 之前很长一段时间关注JDK协程库的开发进度,但是前一段时间比较忙很少去查看OpenJDK官网的内容。Java协程项目Loom(因为项目还在开发阶段,OpenJDK给出的官网h…
-
ReentranLock实现原理
ReentranLock 类图 ReentranLock实现了Lock接口、支持序列化,并且根据传入的参数来判断是使用公平锁还是非公平锁。底层是使用AQS阻塞队列来实现。 Sync…
-
如何优雅地关闭一个线程
如何优雅地关闭一个线程 前面给大家展示了如何创建和使用Java线程,讲解了线程的状态及其每个状态之间的流转,接下来给大家分享,如何正确地关闭一个Java线程。 我们知道,一个Jav…
-
synchronized的使用与原理
在上篇并发编程系列文章中,笔者从线程安全性问题的三个方面入手,简单剖析了可见性和有序性问题的本质,今天继续将从剩下的原子性问题开始,一起去了解synchronized关键字的使用。…
-
JUC中的重入锁 – ReentrantLock
在JUC中有一个Lock接口,功能和synchronized是类似,都是用于保证线程安全性, 与synchronized不一样的是,Lock接口提供了加锁和释放锁的方法,需要开发者…
-
ReentrantReadWriteLock
ReentrantReadWriteLock是JUC包提供的一个读写锁,在这个类中,维护了一个读锁和一个写锁。 /** Inner class pro…
-
Condition的使用与原理
在ReentrantLock中,还提供了Condition条件控制类,他的功能与wait/notify一样,都是基于某个条件进行等待与唤醒。之所以在JUC中又重复造轮子,是因为原来…
-
JUC–CAS底层
JUC–CAS底层 其实在volatile的时候已经分享过程序原子性问题,而jdk提供的原子对象的底层逻辑就是CAS(compare-And-Swap)。 CAS底层 …
-
JUC–Java内存模型(JMM)
JUC–Java内存模型(JMM) 今天继续介绍多线程编程相关java内存模型。 Java的并发采用的是共享内存模型。 JMM即Java内存模型(Java memory…
-
JUC–volatile
JUC–volatile JUC===Package java.util.concurrent,实用程序类通常在并发编程中很有用,从今天开始分享一些相关知识,首先就是v…
-
JUC–闭锁
JUC–闭锁 是多线程同步辅助工具,闭锁可以延迟线程的进度直到其到达终止状态,闭锁可以用来确保某些活动直到其他活动都完成才继续执行 闭锁是多线程同步辅助工具,闭锁可以延…
-
JUC–线程创建
JUC–线程创建 线程创建有几种方式?你都会用吗? 方式一 通过继承Thread class ExtendThread extends&…
-
1.Java JUC 简介
在 Java 5.0 提供了 java.util.concurrent (简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程…
-
JUC整理笔记一之细说Unsafe
JUC(java.util.concurrent)的开始,可以说是从Unsafe类开始。 Unsafe 简介 Unsafe在sun.misc 下,顾名思义,这是一个不安全…
-
JUC整理笔记二之聊聊volatile
要想学好JUC,还得先了解 volatile 这个关键字。了解 volatile ,我们从一个例子开始吧。 本文不会很详细去说java内存模…