美文网首页
主要并发工具类-Exchanger的使用

主要并发工具类-Exchanger的使用

作者: 飞奔吧牛牛 | 来源:发表于2020-02-10 05:55 被阅读0次

    Exchanger 从字面来看是一个交换器,它用来在线程间交换数据。
    到exchange方法处时会阻塞,传递给对方数据,并等待对方数据的到来。

     Exchanger<String> exchanger = new Exchanger<>();
            new Thread(() -> {
                System.out.println("Thread A do something...");
                try {
                    String result = exchanger.exchange("string from A");
                    System.out.println("Thread A get " + result);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }).start();
            new Thread(() -> {
                System.out.println("Thread B do something...");
                try {
                    String result = exchanger.exchange("string from B");
                    System.out.println("Thread B get " + result);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }).start();
    

    结果:

    Thread A do something...
    Thread B do something...
    Thread A get string from B
    Thread B get string from A
    

    相关文章

      网友评论

          本文标题:主要并发工具类-Exchanger的使用

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