首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

object.wait()跟object.notify()和object.notifyall()

2012-11-08 
object.wait()和object.notify()和object.notifyall()object.wait()方法:让拥有object对象的锁的线程进入

object.wait()和object.notify()和object.notifyall()
object.wait()方法:让拥有object对象的锁的线程进入等待状态,并释放对象锁。

object.wait()和object.notify()和object.notifyall()必须写在synchronized方法内部或者synchronized块内部,因为:

这几个方法要求当前正在运行object.wait()方法的线程拥有object的对象锁。。。

即使你确实知道当前上下文线程确实拥有了对象锁,也不能将object.wait()这样的语句写在当前上下文中。如:


正确的应该这样:
package com.wangf.test;class AAA {public synchronized void aaa() throws InterruptedException {System.out.println(Thread.currentThread().getId());this.wait();}}public class MyWait {public static void main(String[] args) throws InterruptedException {AAA aaa = new AAA();System.out.println(Thread.currentThread().getId());aaa.aaa();}}

热点排行