wait和nofity
2015-09-10 17:47
253 查看
notify()
唤醒一个等待在this object的monitor的线程。多个线程的话,其中有一个会被唤醒。
这个选择是任意的,可以自由实现。一个线程通过调用wait 方法之一在这个object的monitor上等待。
被唤醒的线程一直等到当前线程放弃此object的monitor才能继续。被唤醒的线程将和其他可能的线程
竞争同步此object的机会。例如,被唤醒的线程在成为下一个锁住此对象上不享受权利或劣势。
这个方法只应该被拥有object的monitor的线程调用,一个线程可以通过下面三种方式成为此对象的monitor的拥有者。
通过调用这个对象的同步实例方法
执行synchronous(some) {}中的代码体
对于Class类型的对象,通过执行这个class的静态方法。
同一时刻只能有一个线程拥有这个对象的monitor
wait()
使当前线程等待直到另外一个线程调用了这个对象的Object#nofity()方法或者Object的notifyAll()方法。
当前线程必须拥有此对象的monitor。这个线程释放拥有权并且一直wait到另一个线程调用nitify或者notifyAll方法。这个
线程然后就可以等待到重新获得monitor并且继续执行
唤醒一个等待在this object的monitor的线程。多个线程的话,其中有一个会被唤醒。
这个选择是任意的,可以自由实现。一个线程通过调用wait 方法之一在这个object的monitor上等待。
被唤醒的线程一直等到当前线程放弃此object的monitor才能继续。被唤醒的线程将和其他可能的线程
竞争同步此object的机会。例如,被唤醒的线程在成为下一个锁住此对象上不享受权利或劣势。
这个方法只应该被拥有object的monitor的线程调用,一个线程可以通过下面三种方式成为此对象的monitor的拥有者。
通过调用这个对象的同步实例方法
执行synchronous(some) {}中的代码体
对于Class类型的对象,通过执行这个class的静态方法。
同一时刻只能有一个线程拥有这个对象的monitor
wait()
使当前线程等待直到另外一个线程调用了这个对象的Object#nofity()方法或者Object的notifyAll()方法。
当前线程必须拥有此对象的monitor。这个线程释放拥有权并且一直wait到另一个线程调用nitify或者notifyAll方法。这个
线程然后就可以等待到重新获得monitor并且继续执行
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统