并发编程
文章平均质量分 83
闲鱼Lj
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
用Callable实现在走完10个线程之后再进行操作
昨天一个碰到了一个题目:如何编程,使得主线程在跑完十个线程之后,再进行后续操作。看到这个问题,我的第一反应就是可以使用Callable来实现。因为实现线程有两种方式,实现Callable接口或者实现Runnable接口(至于继承Thread类,我觉得这个方式其实本质上还是实现了Runnable接口)。但是用Runnable实现线程,我们一般是不知道线程有没有跑完的,除非经过特殊处理(如使用Coun...原创 2018-05-04 22:34:51 · 1384 阅读 · 0 评论 -
用CountDownLatch实现在走完10个线程之后再进行操作
在上一篇博客中,我们用Callable实现了这个功能:用Callable实现在走完10个线程之后再进行操作,其中也提到了使用CountDownLatch实现是一个更好地选择,下面,我们就来看看如何使用用CountDownLatch实现在走完10个线程之后再进行操作。 ...原创 2018-05-05 10:14:41 · 703 阅读 · 0 评论 -
且说 死锁 synchronize
死锁是面试中常考的一个点,也是我们工作中应该尽量避免的BUG。在多线程任务中,死锁是很容易产生的。 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用, 它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 简单来说,比如,有两个同事一起工作,他们完成各自的工作都需要用到两个工具,但...原创 2018-05-12 09:15:52 · 382 阅读 · 0 评论 -
编发编程的使用工具--栅栏 CyclicBarrier
我们在看田径比赛时,会有这样的场景:一群运动员先后到达起点准备,然后在一声枪响之后,所有运动员同时起跑,奔向终点。 在JAVA并发编程体系中,也有仿真的工具——CyclicBarrier。我们先来看看《JAVA编程思想第四版》中对于CyclicBarrier的解释:CyclicBarrier适用于这样的情况:你希望新建一组任务,他们并行的执行任务,然后在进行下一步之前等待, 直到所有...原创 2018-05-05 20:33:16 · 246 阅读 · 0 评论
分享