Java线程:新特征-障碍器
Java5中,添加了障碍器类,为了适应一种新的设计需求,比如一个大型的任务,常常需要分配好多子任务去执行,只有当所有子任务都执行完成时候,才能执行主任务,这时候,就可以选择障碍器了。
障碍器是多线程并发控制的一种手段,用法很简单。下面给个例子:
import java.util.concurrent.BrokenBarrierException;
importjava.util.concurrent.CyclicBarrier;
publicclass Test
{
public static void main(String[]
args) {
//创建障碍器,并设置MainTask为所有定数量的线程都达到障碍点时候所要执行的任务(Runnable)
CyclicBarrier
cb = new CyclicBarrier(7, new MainTask());
new SubTask("A",
cb).start();
new SubTask("B",
cb).start();
new SubTask("C",
cb).start();
new SubTask("D",
cb).start();
new SubTask("E",
cb).start();
new SubTask("F",
cb).start();
new SubTask("G",
cb).start();
}
}
classMainTask implements Runnable
{
public void run()
{
System.out.println(">>>>主任务执行了!<<<<");
}
}
classSubTask extends Thread
{
import
public
}
class
}
class