Java并发编程Java中的并发工具类

2022-09-24 09:38:48

等待多线程完成的CountDownLatch

CountDownLatch允许一个或多个线程等待其他线程完成操作。

join用于让当前执行线程等待join线程执行结束。其实现原理是不停检查join线程是否存活,如果join线程存活则让当前线程永远等待。
直到join线程中止后,线程的this.notifyAll()方法会被调用,调用notidyAll()方法是在JVM里实现的。

同步屏障CyclicBarrier

让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。

线程间交换数据的Exchanger

Exchanger用于进行线程间的数据交换。它能提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。这两个线程通过exchange方法交换数据,如果第一个线程先执行exchange()方法,它会一直等待第二个线程也执行exchange方法,当两个线程都到达同步点时,这两个线程就可以交换数据,将本线程生产出来的数据传递给对方。

  • 作者:不会游泳的小青龙
  • 原文链接:https://blog.csdn.net/weixin_43985675/article/details/109024190
    更新时间:2022-09-24 09:38:48