聂永的博客

记录工作/学习的点点滴滴。

Fork/Join模式(JSR166y)手记之Phaser

这是一个综合了CountDownLatch和CyclicBarrier特性的混合体,官方说灵活性非常高。基本上,只要对上面两个熟悉,那么阅读API,也不难快速上手的。
yaofeng928 简单总结其特点:
Phaser同时包含CyclicBarrier和CountDownLatch两个类的功能。Phaser的arrive方法将将计数器加1,awaitAdvance将线程阻塞,直到计数器达到目标,这两个方法与CountDownLatch的countDown和await方法相对应;Phaser的arriveAndAwaitAdvance方法将计数器加1的同时将线程阻塞,直到计数器达到目标后继续执行,这个方法对应CyclicBarrier的await方法。

除了包含以上两个类的功能外,Phaser还提供了更大的灵活性。CyclicBarrier和CountdownLatch在构造函数指定目标后就无法修改,而Phaser提供了register和deregister方法可以对目标进行动态修改。
yaofeng928在他的博客文章中也提供了测试示范,有兴趣着看看一看。
在参考资料的第二个链接,则非常用心的给出对Phaser的用心解释,绝对值得一看,不过其代码存在些许错误,但对总体理解不产生障碍。

参考资料链接1则给出了,各种使用场景。
别人把自己所有想要理解的,基本都上说出来,不再需要单独写一篇,改成推荐好了。
参考资料:
  1. What's New on Java 7 Phaser
  2. Java 7: 理解 Phaser
  3. 探索JDK7的并发编程——PHASER

posted on 2012-02-07 17:34 nieyong 阅读(676) 评论(0)  编辑  收藏 所属分类: Java


只有注册用户登录后才能发表评论。


网站导航:
 

公告

所有文章皆为原创,若转载请标明出处,谢谢~

新浪微博,欢迎关注:

导航

<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

统计

常用链接

留言簿(58)

随笔分类(130)

随笔档案(151)

个人收藏

最新随笔

搜索

最新评论

阅读排行榜

评论排行榜