前言
今天我们讲一下java.util.concurrent
工具类里的下一个工具Exchanger
,Exchanger是Java提供的用于线程间进行通信、数据交换的多线程交互工具;
Exchanger
介绍:
Exchanger 是 JDK 1.5 开始提供的一个用于两个工作线程之间交换数据的封装工具类,简单说就是一个线程在完成一定的事务后想与另一个线程交换数据,则第一个先拿出数据的线程会一直等待第二个线程,直到第二个线程拿着数据到来时才能彼此交换对应数据。
从定义来看Exchanger
是用于线程间进行通信、数据交换。Exchanger提供了一个同步点exchange
方法,两个线程调用exchange
方法时,无论调用时间先后,两个线程会互相等到线程到达exchange方法调用点,此时两个线程可以交换数据,将本线程产出数据传递给对方。
public V exchange(V x) throws InterruptedException
public