文档章节

WaitNotifyDemo

摆渡者
 摆渡者
发布于 2017/07/28 08:51
字数 112
阅读 9
收藏 0
package com.my.demo;
import java.io.IOException;

public class WaitNotifyDemo {
	public static void main(String[] args) throws InterruptedException, IOException {
		Object lock = new Object();
		//They share the same lock.
		new NotifyThread("notify01", lock).start();
		new WaitThread("waiter01", lock).start();
		new WaitThread("waiter02", lock).start();
	}
}

class WaitThread extends Thread {
	private Object lock;
	public WaitThread(String name, Object lock) {
		super(name);
		this.lock = lock;
	}

	public void run() {
		synchronized (lock) {
			System.out.println(getName() + " waiting!");
			long waitTime = System.currentTimeMillis();
			try {
				lock.wait();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			waitTime = System.currentTimeMillis() - waitTime;
			System.out.println(getName() + " wait time: " + waitTime);
		}
	}
}

class NotifyThread extends Thread {
	private Object lock;
	public NotifyThread(String name, Object lock) {
		super(name);
		this.lock = lock;
	}

	public void run() {
		try {
			System.in.read();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		synchronized (lock) {
			lock.notifyAll();
		}
	}
};

 

© 著作权归作者所有

上一篇: JdiDemo
下一篇: ProducerConsumerDemo
摆渡者
粉丝 343
博文 171
码字总数 206342
作品 0
浦东
程序员
私信 提问

暂无文章

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
38分钟前
84
5
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
2
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部