CountDownLatch 是一个同步工具类,用来协调多个线程之间的同步,它能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。
这里是使用CountDownLatch和多线程完成商品信息异步组装:
import java.time.LocalDateTime;
import java.util.StringJoiner;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* @author 向振华
* @date 2023/01/04 14:01
*/
public class Test {
public static void main(String[] args) {
// 创建线程池
ExecutorService executorService = Executors.newFixedThreadPool(10);
CountDownLatch countDownLatch = new CountDownLatch(3);
System.out.println("开始 " + LocalDateTime.now());
StringJoiner sj = new StringJoiner("、");
// 线程1
executorService.execute(() -> {
try {
String do1 = do1();
sj.add(do1);
} catch (Exception e) {