并发编程

  • AQS那些不为人知的细节

    大家好,我是阿轩。 今天我们来剖析一下 AQS 的源码。 说到 AQS,我们的第一反应就是 ReentrantLock,CountDownLatch,Semaphore 等等这些并…

    2022年10月3日
    0087
  • ThreadLocal那些不为人知的细节

    大家好,我是阿轩。 今天我们来剖析一下ThreadLocal的源码。 说到ThreadLocal,我们在日常的开发工作中用的还是挺多的。 比如,用户登录的时候我们可以通过Threa…

    2022年10月3日
    0065
  • StampedLock那些不为人知的细节

    大家好,我是阿轩。 今天我们来剖析一下StampedLock的源码。 说到StampedLock,可能有的小伙伴会比较陌生,他是在JDK8新增的一种锁,可以说是ReentrantR…

    2022年10月3日
    0084
  • LongAdder那些不为人知的细节

    大家好,我是阿轩。 今天我们来剖析一下LongAdder的源码。 说到LongAdder,可能有些小伙伴会比较陌生,毕竟日常工作中用的真的很少。 但是,不能说用的很少就不用去学习研…

    2022年10月3日
    0085
  • Disruptor那些不为人知的细节

    大家好,我是阿轩。 今天我们来剖析一下Disruptor的源码。 说到Disruptor,听过的小伙伴应该不多,毕竟在现在分布式微服务盛行的年代,已经很少有系统还在使用单机服务了,…

    2022年10月3日
    00134
  • CompletableFuture那些不为人知的细节

    大家好,我是阿轩。 今天我们来剖析一下CompletableFuture的源码。 前言 每当我们一提到异步编程,脑海中第一印象就是Future,但是随着业务逻辑越来越复杂,Futu…

    2022年10月3日
    00138
  • FutureTask那些不为人知的细节

    大家好,我是阿轩。 今天我们来剖析一下FutureTask的源码。 前言 上篇文章中我们对CompletableFuture的源码进行了一个简单的了解。 同为异步编程,除了使用Co…

    2022年10月3日
    0092
  • 初探Java多线程

    初探Java多线程 如果你还不知道进程和线程是什么,请先自行百度,本文不再赘述其概念。 Java线程的使用 在Java中,实现线程的方式有多种,继承Thread类,实现Runnab…

    2022年9月30日
    0082
  • Java线程状态知多少

    上篇文章讲述了在Java中如何使用线程,今天将带你了解线程从启动到销毁,整个生命周期会经历的不同状态。 线程状态介绍 在Java中,线程共有6个状态: NEW:新建状态,也就是刚创…

    2022年9月30日
    0091
  • 如何优雅地关闭一个线程

    如何优雅地关闭一个线程 前面给大家展示了如何创建和使用Java线程,讲解了线程的状态及其每个状态之间的流转,接下来给大家分享,如何正确地关闭一个Java线程。 我们知道,一个Jav…

    2022年9月30日
    00125
  • 从可见性问题理解volatile的作用

    从可见性问题理解volatile的作用 在并发编程中,不同的线程可能会对同一个变量进行操作,如果在没有任何措施的干预下,对这个变量的操作结果会有很多不确定性。这就是线程的安全性问题…

    2022年9月30日
    00118
  • synchronized的使用与原理

    在上篇并发编程系列文章中,笔者从线程安全性问题的三个方面入手,简单剖析了可见性和有序性问题的本质,今天继续将从剩下的原子性问题开始,一起去了解synchronized关键字的使用。…

    2022年9月30日
    0060
  • JUC中的重入锁 – ReentrantLock

    在JUC中有一个Lock接口,功能和synchronized是类似,都是用于保证线程安全性, 与synchronized不一样的是,Lock接口提供了加锁和释放锁的方法,需要开发者…

    2022年9月30日
    0067
  • ReentrantReadWriteLock

    ReentrantReadWriteLock是JUC包提供的一个读写锁,在这个类中,维护了一个读锁和一个写锁。 /** Inner class pro…

    2022年9月30日
    0066
  • 线程的条件等待机制

    如果阅读过之前并发系列的文章,相信大家都知道在多线程竞争的情况下,我们可以使用volatile,synchronized,ReentrantLock和ReentrantReadWr…

    2022年9月30日
    00104
  • Condition的使用与原理

    在ReentrantLock中,还提供了Condition条件控制类,他的功能与wait/notify一样,都是基于某个条件进行等待与唤醒。之所以在JUC中又重复造轮子,是因为原来…

    2022年9月30日
    00116
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!