并发知识体系
文章平均质量分 96
本栏目包含:Java 并发理论基础,Java Thread基础机制和源码,并发关键字synchronized、volatile、final,JUC重点工具锁、线程池、同步容器
菜鸡的挣扎
人生是公平的,得到了金钱必将失去烦恼
展开
-
JUC锁:核心类 AQS 原理图文详解
前言好久没打开CSDN 了(随便找点存货发一发)2021.12.02 说实话,AQS 确实没了解过 ,阅读 Java 版本为 1.8.0.25。源码:AbstractQueuedSynchronizer.java - Gitee.comReentrantLock.java - Gitee.comCountDownLatch.java - Gitee.com中文文档:Java 8 中文版 - 在线API中文手册 - 码工具 (matools.com)AbstractQueuedS原创 2022-04-01 22:03:01 · 967 阅读 · 0 评论 -
水一篇 CountDownLatch
概述CountDownLatch 是 JUC 中一个比较常用的工具类,使用也很简单。。。而且大佬们的博客确实写得很好。。。尽量少些废话,尽快结束。因为源码确实不长,带上注解也才200行,就直接贴在最后了。总的就是:CountDownLatch 是 JDK 提供的一个同步工具,它可以让一个或多个线程等待,一直等到其他线程中执行完成一组操作。常用的方法有 countDown 方法和 await 方法,CountDownLatch 在初始化时,需要指定用给定一个整数作为计数器。当调用 countD原创 2021-06-19 15:38:28 · 356 阅读 · 0 评论 -
CAS、Unsafe、Atomic原子类,一波带走
原子类概述JUC 中多数类是通过 volatile 和 CAS 来实现的,CAS本质上提供的是一种无锁方案,而 Synchronized 和 Lock 是互斥锁方案。java 原子类本质上使用的是 CAS,而 CAS 底层是通过 Unsafe 类实现的。线程安全的实现方法包含:互斥同步:synchronized 和 ReentrantLock非阻塞同步:CAS 、 原子类AtomicXXXX无同步方案::栈封闭 、Thread Local 、可重入代码本篇主要讲述原子类,以及它所依赖的原创 2021-06-06 21:20:45 · 202 阅读 · 2 评论 -
volatile 关键字总结,原理+示例 - Java 轻量级同步
本文概述volatile 关键字对增删改查程序员应该是比较陌生的。(反正我前几年是一次没用过)暴露了我菜鸡的水准。。。volatile 是 JVM 提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步 synchronized,通常称为重量级锁,不过随着JVM优化,现在也不是特别重。轻量级 volatile ,因为它不会引起线程上下文的切换和调度。但是 volatile 变量的同步性较差(有时它更简单并且开销更低),而且其使用也更容易出错。volatile 的特性原创 2021-06-05 22:55:25 · 618 阅读 · 0 评论 -
关键字 synchronized 简单介绍
本文概述讲解下 Java 中和并发相关的个关键字:synchronized 、volatile 。因为关键字已经是除了 JVM 外最底层的应用了。。。所以除了分析在 JVM 中关键字的作用,其他的只能通过代码举例说明,这样就会显得比较得…枯燥。synchronizedsynchronized 关键字是为了解决共享资源竞争的问题,共享资源一般是以对象形式存在的内存片段。所以,只有共享资源的读写访问才需要同步化,如果不是共享资源那么根本就没有必要同步。对 synchronized 的基础使用其原创 2021-05-30 22:37:42 · 273 阅读 · 0 评论 -
Java 线程中断机制,interrupt 源码解析 - Thread 中断系列全搞定
一个线程执行完毕之后会自动结束,如果在运行过程中发生异常也会提前结束。void interrupt() ,中断线程。static boolean interrupted(),测试当前线程是否已被中断。通过此方法可以清除线程的中断状态。boolean isInterrupted()`,测试线程是否已经中断,线程的中断状态不受该方法的影响。协作式和抢占式线程调度的解释,线程中断属于协作式中断。原创 2020-08-02 19:42:05 · 506 阅读 · 0 评论 -
Java 线程间的通信、协作方式 - join 机制,wait-notify 机制
Java Thread 线程之间的通信和协作方式,介绍 Object 类的 wait,notify 系列方法,Thread 的 join 方法机制。原创 2020-08-01 19:02:28 · 251 阅读 · 0 评论 -
Java Thread线程基础机制,源码解读 - 优先级、守护这些玩意儿
Java 线程基础机制,priority 优先级、daemon 守护线程、sleep() 线程休眠、yield() 状态声明、其他 native 方法。原创 2020-07-25 19:13:08 · 179 阅读 · 0 评论 -
Java 线程的几种状态及状态间转换
Java 和操作系统关于线程的几种状态,以及状态间的相互转换原创 2020-07-25 10:53:26 · 315 阅读 · 0 评论 -
Java 并发理论基础 - 看完虽然不会写代码,吹吹牛逼绝对没问题
Java 并发理论基础,包含原子性、有序性、可见性出现的原因,解决办法;在 Java 中如何处理,摘了2位大佬的博客原创 2020-06-26 17:19:40 · 344 阅读 · 0 评论