随笔分类 - 并发
摘要:文章篇幅较短,对于一些 的顶级方法例如 并没有做过深的讲解,因为这些算是 的范畴,关于 可以看下另一篇文章—— "AQS" 。 一般被称作"计数器",作用大致就是数量达到了某个点之后计数结束,才能继续往下走。可以用作 流程控制 之类的作用,大流程分成多个子流程,然后大流程在子流程全部结束之前不动(子
阅读全文
摘要:CyclicBarrier是一种类似于栅栏的存在,意思就是在栅栏开放之前你都只能被挡在栅栏的一侧,当栅栏移除之后,之前被挡在一侧的多个对象则同时开始动起来。 1. 如何使用CyclicBarrier 在介绍其原理之前,先了解一下CyclicBarrier应该如何使用。 假设现在有这样的场景,我们需要
阅读全文
摘要:在看这篇文章时,笔者默认你已经看过AQS或者已经初步的了解AQS的内部过程。 先简单介绍一下 ,跟 相同,是 可重入 的重量级锁。但是其用法则相当不同,首先 要 显式的调用lock方法 表示接下来的这段代码已经被当前线程锁住,其他线程需要执行时需要拿到这个锁才能执行,而当前线程在执行完之后要显式的释
阅读全文
摘要:AQS是JUC包中许多类的实现根基,这篇文章基于个人理解的前提下完成,所以在结构上跟其他AQS文章有些差异。 1 AQS内脏图 tips:如果只是想看AQS的实现的话可以从第三节开始看,前面只是讲结构和使用 1.1 整体结构 在开始了解 之前,先看下 的内部结构,这样在看实现代码的时候至少有一个整体
阅读全文
摘要:1. 为何要分布式锁 现在假设一个场景,同时有十个请求需要对资源进行访问和修改,为了保证数据的正确性,那么你的程序可能是这么写的: /** 用于锁的对象*/ public static final Object lock = new Object(); /** 模拟业务的资源*/ public
阅读全文

浙公网安备 33010602011771号