首页 > 代码库 > java基础---->java多线程的使用(八)
java基础---->java多线程的使用(八)
这里学习一下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.
友情链接
java基础---->java多线程的使用(八)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。