ReentrantLock/CountDownLatch/Semaphore/FutureTask/ThreadPoolExecutor的源码中都会包含一个静态的内部类Sync,它继承了AbstractQueuedSynchronizer这个抽象类。AbstractQueuedSynchronize...
分类:
编程语言 时间:
2015-01-06 21:34:55
阅读次数:
334
java5之后的java.util.concurrent包(J.U.C)是世界级并发大师Doug Lea的作品,里面主要实现了 1. atomic包里Integer/Long对应的原子类,主要基于CAS; 2. 一些同步子,包括Lock,CountDownLatch,Semaphore,Fut...
分类:
编程语言 时间:
2015-01-06 12:15:09
阅读次数:
292
package?aaa.bbb;
import?java.text.SimpleDateFormat;
import?java.util.Date;
import?java.util.concurrent.CountDownLatch;
public?class?T1?{
final?static?SimpleDateFormat?sdf?=?new?Sim...
分类:
编程语言 时间:
2015-01-05 00:43:07
阅读次数:
190
1、类介绍 java.util.concurrent.CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,...
分类:
编程语言 时间:
2014-12-29 13:53:31
阅读次数:
174
import java.util.concurrent.CountDownLatch;/** * 出发点:等待所有线程执行完成 * @author yinchuan.chen * */public class CountDownLatchTest { public static void main(...
分类:
其他好文 时间:
2014-12-24 17:46:41
阅读次数:
162
如果说CountDownLatch是一次性的,那么CyclicBarrier正好可以循环使用。它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。所谓屏障点就是一组任务执行完毕的时刻。清单1 一个使用CyclicBarrier的例子package xylz....
分类:
编程语言 时间:
2014-12-03 00:00:16
阅读次数:
316
此小节介绍几个与锁有关的有用工具。闭锁(Latch)闭锁(Latch):一种同步方法,可以延迟线程的进度直到线程到达某个终点状态。通俗的讲就是,一个闭锁相当于一扇大门,在大门打开之前所有线程都被阻断,一旦大门打开所有线程都将通过,但是一旦大门打开,所有线程都通过了,那么这个闭锁的状态就失效了,门的状...
分类:
编程语言 时间:
2014-12-02 23:55:44
阅读次数:
243
Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
编程语言 时间:
2014-11-26 16:10:05
阅读次数:
278
Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
编程语言 时间:
2014-11-26 16:06:23
阅读次数:
308