package Thread.concurrent; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; /* * 用cylicbarrier模拟赛马 * * */ public class HorseRace { private final int FINSH_LINE=75; private List lists=new ArrayList(); ExecutorService service=Executors.newCachedThreadPool(); public HorseRace(int nHorses){ CyclicBarrier cyclicBarrier=new CyclicBarrier(nHorses,new Runnable() { @Override public void run() { //打印赛场的栅栏 StringBuilder stringBuilder=new StringBuilder(); for (int i = 0; i