美文网首页
多线程之间的通信

多线程之间的通信

作者: arryluo | 来源:发表于2017-05-05 23:13 被阅读0次

    public class T8 {

    public static void main(String[] args) {

    final DB db=new DB();

    new Thread(new Runnable() {

    @Override

    public void run() {

    // TODO Auto-generated method stub

    for (int i = 0; i <50; i++) {

    db.zi(i);

    }

    }

    }).start();

    for (int i = 0; i <50; i++) {

    db.main(i);

    }

    }

    }

    class DB {

    private boolean flg = true;

    public synchronized void main(int i) {

    // 如果是true的话,就让主函数等待

    if (flg) {

    try {

    this.wait();

    } catch (InterruptedException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    // 主函数

    for (int j = 0; j < 5; j++) {

    System.out.println("main:" + i);

    }

    this.flg = true;

    this.notify();

    }

    public synchronized void zi(int i) {

    if (!flg) {

    // 等于false的话,那么我就

    try {

    this.wait();

    } catch (InterruptedException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    for (int j = 0; j < 10; j++) {

    System.out.println("子函数:" + j);

    }

    this.flg = false;

    this.notify();

    }

    }

    相关文章

      网友评论

          本文标题:多线程之间的通信

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