• java 多线程 day17 Exchanger




    import java.util.concurrent.Exchanger;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;

    public class Thread1701_Exchanger {

    public static void main(String[] args) {
    ExecutorService service = Executors.newCachedThreadPool();
    final Exchanger exchanger = new Exchanger();
    service.execute(new Runnable(){
    public void run() {
    try {

    String data1 = "zxx";
    System.out.println("线程" + Thread.currentThread().getName() +
    "正在把数据" + data1 +"换出去");
    Thread.sleep((long)(Math.random()*10000));
    String data2 = (String)exchanger.exchange(data1);
    System.out.println("线程" + Thread.currentThread().getName() +
    "换回的数据为" + data2);
    }catch(Exception e){

    }
    }
    });
    service.execute(new Runnable(){
    public void run() {
    try {

    String data1 = "lhm";
    System.out.println("线程" + Thread.currentThread().getName() +
    "正在把数据" + data1 +"换出去");
    Thread.sleep((long)(Math.random()*10000));
    String data2 = (String)exchanger.exchange(data1);
    System.out.println("线程" + Thread.currentThread().getName() +
    "换回的数据为" + data2);
    }catch(Exception e){

    }
    }
    });
    }
    }
  • 相关阅读:
    mysql
    jQuery选择器
    使用JavaScript操作DOM节点元素的常用方法(创建/删除/替换/复制等)
    MVC2.0==>MVC3.0
    sql 邮件发送测试情况
    C#调用存储过程
    设计模式
    sql 分页
    SQL Server 存储过程(转载)
    sqlitehelper封装
  • 原文地址:https://www.cnblogs.com/ctaixw/p/7980995.html
Copyright © 2020-2023  润新知