美文网首页
Java并发-28.并发工具类-Exchanger

Java并发-28.并发工具类-Exchanger

作者: 悠扬前奏 | 来源:发表于2019-06-06 22:38 被阅读0次
  • Exchanger用于进行线程间的数据交换。
  • 提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。
  • 第一个线程执行exchange方法,阻塞等待第二个线程也执行exchange方法,都到达同步点时,线程就可以交换数据
  • exchange(V x, long timeout, TimeUnit unit)方法可以超时等待
import java.util.concurrent.Exchanger;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * @author pengjunzhe
 */
public class ExchangerTest {
    private static Exchanger<String> exchanger = new Exchanger<>();
    private static ExecutorService threadpool = Executors.newFixedThreadPool(2);

    public static void main(String[] args) {
        threadpool.execute(() -> {
            String A = "银行流水A";
            try {
                String C = exchanger.exchange(A);
                System.out.println("A收到的是:" + C);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        });
        threadpool.execute(() -> {
            try {
                String B = "银行流水B";
                String A= exchanger.exchange("B");
                System.out.println("A和B数据是否一致:" + A.equals(B) + ", A录入的是:" + A + ",B录入的是:" + B);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        });
        threadpool.shutdown();
    }
}

相关文章

  • Java并发-28.并发工具类-Exchanger

    Exchanger用于进行线程间的数据交换。 提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。 第一个线...

  • 并发工具类 Exchanger

    简介 Exchanger(交换者),一个用于线程间协作的工具类。Exchanger用于线程间的数据交换,提供了一个...

  • 并发工具类-Exchanger

    1.使用示例 结果: 2.官方文档 线程可以交换元素的同步点。每个线程在exchange方法的入口准备好对象,与伙...

  • Java 并发包提供了哪些并发工具类

    Java 并发包提供了哪些并发工具类 Java 基础并发工具类 提供了比 synchronized更加高级的各种同...

  • Java并发工具类

    该篇文章介绍CountDownLatch,CycliBarrier,Semaphore,Exchanger并发工具...

  • java并发Exchanger的使用

    简介 Exchanger是java 5引入的并发类,Exchanger顾名思义就是用来做交换的。这里主要是两个线程...

  • java并发- 并发工具类

    thread.join原理 假设A线程中执行threadB.join(),基本等价于以下代码段 当threadB销...

  • Java并发 - 并发工具类

    AQS 可以先查看 Java并发 - 读写锁与AQS简单了解[https://www.jianshu.com/p/...

  • JUC--并发工具类:Exchanger

    2018-10-02 原文推荐 死磕Java并发 在API是这么介绍的:可以在对中对元素进行配对和交换的线程的同步...

  • Java并发编程脑图

    01-Java内存模型 02-并发基础 03-锁 04-并发工具类 05-其他 06-Java并发集合 07-at...

网友评论

      本文标题:Java并发-28.并发工具类-Exchanger

      本文链接:https://www.haomeiwen.com/subject/eozvzqtx.html