zoukankan      html  css  js  c++  java
  • 多线程通信

    一、创建两个程序MyThread1.java和MyThread2.java

    public class MyThread1 extends Thread {
        private Object lock;
    
        public MyThread1(Object lock) {
            super();
            this.lock = lock;
        }
    
        @Override
        public void run() {
            try {
                synchronized (lock) {
                    System.out.println("开始     wait time=" + System.currentTimeMillis());
                    lock.wait();
                    System.out.println("结束      wait time=" + System.currentTimeMillis());
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
    public class MyThread2 extends Thread {
        private Object lock;
    
        public MyThread2(Object lock) {
            super();
            this.lock = lock;
        }
        @Override
        public void run() {
            synchronized (lock) {
                System.out.println("开始notify time=" + System.currentTimeMillis());
                lock.notify();
                System.out.println("结束notify time=" + System.currentTimeMillis());
            }
        }
    }

    二、创建测试类:

    public class Test {
        public static void main(String[] args) {
            try {
                Object lock = new Object();
     
                MyThread1 t1 = new MyThread1(lock);
                t1.start();
                Thread.sleep(3000);
                MyThread2 t2 = new MyThread2(lock);
                t2.start();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    三、结果显示:

     由上我们可以得知,在调用wait()方法的过程中,会释放锁等待线程被notify()唤醒,在调用notify()时,不会释放所资源,等待线程执行完成

       

    没有停止的脚步,只有倒下去的脚步
  • 相关阅读:
    关于二进制——lowbit运算
    代码风格
    焦作区域赛——反思及期望
    第一次参加acm区域赛
    0——1分数问题规划
    [FZYZOJ 1339] 修改密码
    [HDU 1856] More is better
    并查集小结
    [FZYZOJ 1031] 无线网络
    [FZYZOJ 1038] 隧道
  • 原文地址:https://www.cnblogs.com/hkMblogs/p/13191522.html
Copyright © 2011-2022 走看看