
JUC
sweet_sauce
随便学一下
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CountDownLatch CyclicBarrier 原理
上篇博客介绍了CountDownLatch CyclicBarrier 的用法,这篇博客讲解一下这两个线程辅助类的原理,但不会贴出源码,那样子太复杂,我把我阅读源码以及博客的总结写下来,这样头绪清晰一些。CountDownLatch原理这篇文章很简洁形象形容了,很好https://blog.youkuaiyun.com/yanyan19880509/article/details/52349056CountD...原创 2018-05-01 21:57:13 · 278 阅读 · 0 评论 -
fork/join 学习记录
fork/join 就是把大任务分成无数个小任务来进行并行计算,提高运算速度比如我们来计算从1加到10000import java.util.concurrent.ForkJoinPool;import java.util.concurrent.Future;import java.util.concurrent.RecursiveTask;/** * Created by qiuyu...原创 2018-05-09 23:46:43 · 180 阅读 · 0 评论 -
CountDownLatch、CyclicBarrier和 Semaphore
CountDownLatch 当一个线程需要等待别的线程先执行完才执行时候用这个public class CountDownLatchExample { final private static int ThreadCount = 200 ; private static void test(int threadNum) { System.out.print...原创 2018-04-26 15:46:11 · 159 阅读 · 0 评论 -
线程池shoutdown() shutdownNow() awaitTermination() 方法解析
参考https://www.jianshu.com/p/b5e2283e869chttps://blog.youkuaiyun.com/u011389515/article/details/80656813提到线程池shoutdown() shutdownNow() awaitTermination() 方法之前我们先来看一下线程池的几种状态,在Executor框架中定义了几种状态,如下图:...原创 2019-03-01 11:07:35 · 1129 阅读 · 0 评论 -
java手动实现简易可重入锁
说到可重入锁默认提到的就是Reentrantlock,可重入的概念就是,当前线程可以多次获得一个锁,这样主要是解决了死锁问题。如果没有可重入锁,当一个线程递归获得当前锁的时候,会由于锁没有释放而导致死锁,jdk基于AQS实现,主要是有个 state变量,如果是当前线程获得锁,就自增一次,释放锁就是给这个state递减,减到零就释放这个锁。这篇文章只实现非公平的可重入锁,没有涉及CLH等待队列...原创 2019-02-26 09:51:29 · 757 阅读 · 0 评论 -
ScheduledThreadPool 浅析和例子
我们知道Timer与TimerTask虽然可以实现线程的周期和延迟调度,但是Timer与TimerTask存在一些缺陷,所以对于这种定期、周期执行任务的调度策略,我们一般都是推荐ScheduledThreadPoolExecutor来实现。下面就深入分析ScheduledThreadPoolExecutor是如何来实现线程的周期、延迟调度的。ScheduledThreadPoolExecuto...原创 2019-03-04 10:20:20 · 941 阅读 · 0 评论