如何保证多个线程同时启动?

in 编程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

可以 wait()、notify() 实现;也可以使用发令枪 CountDownLatch 实现。

CountDownLatch 实现较简单,如下:

package constxiong.interview;

import java.util.concurrent.CountDownLatch;

/**
 * 测试同时启动多个线程
 * @author ConstXiong
 */
public class TestCountDownLatch {

	private static CountDownLatch cld = new CountDownLatch(10);
	
	public static void main(String[] args) {
		for (int i = 0; i <10; i++) {
			Thread t = new Thread(new Runnable() {
				public void run() {
					try {
						cld.await();//将线程阻塞在此,等待所有线程都调用完start()方法,一起执行
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					System.out.println(Thread.currentThread().getName() + ":" + System.currentTimeMillis());
				}
			});
			t.start();
			cld.countDown();
		}
	}
	
}


原文链接
 


 

 

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看