多线程
文章平均质量分 76
MiniCTO
多努力一点,多赚点钱,多运动。
展开
-
CountDownLatch和CyclicBarrier的区别
在网上看到很多人对于CountDownLatch和CyclicBarrier的区别简单理解为CountDownLatch是一次性的,而CyclicBarrier在调用reset之后还可以继续使用。那如果只是这么简单的话,我觉得CyclicBarrier简单命名为ResetableCountDownLatch好了,显然不是的。我的理解是,要从他们的设计目的去看这两个类。javadoc里面的描述是这样的转载 2016-12-12 19:22:22 · 524 阅读 · 0 评论 -
Future和FutureTask
Executor框架使用Runnable 作为其基本的任务表示形式。Runnable是一种有局限性的抽象,然后可以写入日志,或者共享的数据结构,但是他不能返回一个值。许多任务实际上都是存在延迟计算的:执行数据库查询,从网络上获取资源,或者某个复杂耗时的计算。对于这种任务,Callable是一个更好的抽象,他能返回一个值,并可能抛出一个异常。Future表示一个任务的周期,并提供了相应的方法来判断是否转载 2016-12-18 15:07:31 · 1149 阅读 · 0 评论