![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 84
jackjackqin
这个作者很懒,什么都没留下…
展开
-
CountDownLatch 和 CyclicBarrier 的区别
CountDownLatch: 只能使用一次CyclicBarrier: 可以循环使用 package com.colorcc.multi.thread.jcp;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorS...原创 2012-11-05 22:24:02 · 87 阅读 · 0 评论 -
JUC之 ThreadPoolExecutor 源码解析
用下面语句创建一个线程池ThreadPoolExecutor。ExecutorServiceexecutorProducer = Executors.newFixedThreadPool(2);该段代码主要初始化线程池的一些参数,如:...原创 2012-11-09 21:05:02 · 77 阅读 · 0 评论 -
图说 ThreadLocal
ThreadLocal tl1 = new ThreadLocal() 的意思是定义一个变量,以后每个线程都可以用该变量 set, get自己线程里面的数据,其目的是为了保证变量在各个线程命名一致性,即通过 tl1.set(), tl1.get() 就可以看成每个好像各自单独定义了一个变量 tl1,各个线程互不影响。 其实现机制为: ThreadLocal tl1 = ...原创 2012-11-15 23:48:39 · 80 阅读 · 0 评论 -
图说 ThreadPoolExecutor 和 Lock 原理
ThreadPoolExecutor: 创建一个 thread pool, pool 中每个 thread 称为 worker,负责执行任务(Task), task个数如果不大于线程池的个数,则分别分给线程池里的各个线程,否则 task 入队列, worker 执行完自己 task,去队列取新任务执行。直到队列里面没有任务,park 住线程池中的线程。 AQS: ...原创 2012-11-20 21:55:09 · 771 阅读 · 0 评论