Concurrent
iteye_12959
这个作者很懒,什么都没留下…
展开
-
CountDownLatch join 或 CountDownLatch 让主线程等待所有子线程完成
用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重置计数,请考虑使用 CyclicBarrier。 CountDownLatch 是一个通用同步工具,它有很多用途。将计数 1 ...原创 2008-12-28 22:50:11 · 122 阅读 · 0 评论 -
Callable与Future
java.util.concurrent.Callable与java.util.concurrent.Future类可以协助您完成Future模式。Future模式在请求发生时,会先产生一个Future对象给发出请求的客户。它的作用类似于代理(Proxy)对象,而同时所代理的真正目标对象的生成是由一个新的线程持续进行。真正的目标对象生成之后,将之设置到Future之中,而当客户端真正需要目标对象时...原创 2008-12-28 23:10:09 · 110 阅读 · 0 评论 -
CyclicBarrier
下面是一个 线程相互等待,都到达某一点后,继续开始执行任务的例子(测试CyclicBarrier)。 这里模拟了这样一个场景: 3个玩家同时进行通关游戏,当他们都到达或通过某一关后,才可继续往下过关。比如张三、李四、王五,他们通过每一关的时间都不相同,但是他们都必须都通关了第一关后,才能开始玩第二关;都通过了第二关,才能玩第三关... ... 写了3个类来验证这...原创 2008-12-28 23:57:31 · 89 阅读 · 0 评论 -
Semaphore 信号量
[url]http://www.java2000.net/p14873[/url]Semaphore 信号量,就是一个允许实现设置好的令牌。也许有1个,也许有10个或更多。 谁拿到令牌(acquire)就可以去执行了,如果没有令牌则需要等待。 执行完毕,一定要归还(release)令牌,否则令牌会被很快用光,别的线程就无法获得令牌而执行下去了。 [code="java"]i...原创 2009-03-21 23:25:39 · 124 阅读 · 0 评论