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.

    友情链接

  • 相关阅读:
    一些开源工具软件
    被伤过的心还可以爱谁
    C函数检测CPU架构为LittleEndian或BigEndian
    C#打印(接录)
    C#Lambda表达式参考
    C#反射 创建对象,调用方法
    datagridview cell 验证事件
    我多想抱着你哭
    C#获取属性
    STM32的位操作的方法
  • 原文地址:https://www.cnblogs.com/huhx/p/baseusejavathreadwaitnotify.html
Copyright © 2011-2022 走看看