0
点赞
收藏
分享

微信扫一扫

2024年第十五届蓝桥杯研究生组题目总结(Java、Python、C++)

dsysama 04-16 19:30 阅读 2

在Java中常常使用到多线程处理一些业务,但是也会遇到多线程处理时带来的业务逻辑时序不对问题,例如需要等待一个业务处理完或者下一步的逻辑需要等待多线程得到的结果,下面是几种常用的方法

  1. 使用 Thread.join() 方法
    对于已知的线程列表,可以遍历列表并调用每个线程的 join() 方法。join() 会让当前线程阻塞,直到指定的线程执行完毕。
List<Thread> threads = ...; // 创建并启动线程的列表

for (Thread t : threads) {
   
    t.join(); // 当前线程(主线程)会等待t线程执行完毕
}

// 这里所有的线程都已经执行完毕
System.out.println("All threads have finished.");

  1. 使用 CountDownLatch
    CountDownLatch 是一个计数器,允许一个或多个线程等待其他一组线程完成操作。初始化时设定一个计数值,每当一个任务完成时,调用 countDown() 方法使计数值减一。当计数值变为零时,所有等待在 await() 方法上的线程将被释放。
import java.util.concurrent.CountDownLatch;

CountDownLatch latch = new CountDownLatch(NUM_THREADS); // 初始化计数器,NUM_THREADS为线程数量

for (int
举报

相关推荐

0 条评论