wait和notify是所有对象所具有的方法,可以用来做消息通知的,而suspend\resumer是线程自己的方法(已不赞成使用了),当调用了wait方法后,当前线程就会被挂起,直到其他线程调用了该对象的notify方法。suspend是挂起当前线程,resumer是恢复当前线程地执行。
解决方案 »
- 在ArrayList中存放的字符串数组为什么自动清空了?
- UTC格式的字符串转Date
- 做一个Java类 (如java bean),在jsp文件里引用这个类
- svn的远程备份
- 内部类匿名类是如何定义的?
- 请问在java中如何调用delphi写的com组件
- 求有向图中两点间的所有路径(有限几个点的路径以解决,要求在已知网络图中读入节点数据信息怎么办?)
- Java Media Framework(JMF)安装问题
- 谁知道Annotaion?并给个应用的例子?
- 如何追加写文件??
- 有没有使用java.security类来加密文本(不是数字签名)的程序?可否给我看看.我不会用那个类.最好是用RSA和DES算法的.
- 那里有JDK1.4down???我要用里面的那个javax.crypto类...
private object obj; public A(Object obj){
this.obj = obj;
} public void run(){
synchronized (obj){
...
obj.wait(); //该线程将会被挂起,直到其他线程调用notify()
...
}
}
}class B extends Thread{
private object obj; public A(Object obj){
this.obj = obj;
} public void run(){
synchronized (obj){
...
obj.notify(); //唤醒调用了该wait的线程。
...
}
}public static void main(String[] args){
Object obj = new Object();
A a = new A(obj);
B b = new B(obj);
a.start();
b.start();
}你自己加入一点调试语句,就知道到底发生了什么事情了。