java两个线程同时运行_java多个线程同时开始执行

  • Post author:
  • Post category:java


有时候有这样的需求,需要多个线程执行任务,每个线程都执行不同的准备工作,全部准备好了,才能同时执行下面的工作。这个怎么实现呢?

一是用CyclicBarrier (适用在多线程相互等待,直到到达一个屏障点。并且CyclicBarrier是可重用的。)实现。

代码实现:

public class CyclicBarrierTest {

boolean finalFlg = false;

/**

* CyclicBarrier 适用再多线程相互等待,直到到达一个屏障点。并且CyclicBarrier是可重用的。

*/

CyclicBarrier cyclicBarrier = new CyclicBarrier(10);

private void runThread() {

ExecutorService executorService = Executors.newFixedThreadPool(10);

for (int i = 0; i < 10; i++) {

try {

Thread.sleep(100);

} catch (InterruptedException e) {

e.printStackTrace();

}

executorService.submit(createThread(i));

}

}

private Thread createThread(int i) {

Thread thread = new Thread(new Runnab



版权声明:本文为weixin_40002224原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。