zoukankan      html  css  js  c++  java
  • java基础---->多线程之wait和notify(八)

      这里学习一下java多线程中的关于wait方法和notify方法的用法。命运不是风,来回吹,命运是大地,走到哪你都在命运中。

    wait和notify方法的使用

     一、wait与notify的简单实例

    import java.util.concurrent.TimeUnit;
    
    public class WaitThreadTest {
        public static void main(String[] args) throws Exception {
            Object object = new Object();
            new WaitThread(object).start();
            TimeUnit.SECONDS.sleep(2); // 2秒之后唤醒
            new NotifyThread(object).start();
        }
    
        static class WaitThread extends Thread {
            private Object object;
    
            WaitThread(Object object) {
                this.object = object;
            }
    
            @Override
            public void run() {
                synchronized (object) {
                    try {
                        System.out.println("before wait.");
                        object.wait();
                        System.out.println("after wait.");
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    
        static class NotifyThread extends Thread {
            private Object object;
    
            NotifyThread(Object object) {
                this.object = object;
            }
    
            @Override
            public void run() {
                synchronized (object) {
                    System.out.println("before notify.");
                    object.notify();
                    System.out.println("after notify.");
                }
            }
        }
    }

     运行的结果如下:

    before wait.
    before notify.
    after notify.
    after wait.

     如果修改object.wait()为object.wait(1),运行的结果如下:

    before wait.
    after wait.
    before notify.
    after notify.

    友情链接

  • 相关阅读:
    最全负载均衡:算法、实现、亿级负载解决方案详解
    淘宝分布式架构演变案例详解
    分布式一致性协议实现原理
    ReentrantReadWriteLock的使用
    线程之单例
    线程的优先级
    java线程的6种状态
    mybatis <foreach> 标签
    java多线程 上下文切换
    docker的复制和挂载
  • 原文地址:https://www.cnblogs.com/huhx/p/baseusejavathreadwaitnotify.html
Copyright © 2011-2022 走看看