【发布时间】:2014-08-13 20:42:07
【问题描述】:
我有以下代码:
synchronized void myMethod() {
String s="aaa";
try {
s.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
代码抛出异常... 我已经看到在线程上使用 wait 方法的代码,这是可以自我解释和合乎逻辑的..
- 为什么要在像字符串这样的对象上使用等待方法而不是在主线程上使用它?
- 它有什么用?
- 有没有这样的实际实现?
提前致谢
【问题讨论】:
-
有什么异常?
-
-
@Miserable 变量:java.lang.IllegalMonitorStateException
-
始终在检查等待条件的循环中使用
wait,并与notify(All)结合使用。所有其他用法可能都是错误的。见docs.oracle.com/javase/tutorial/essential/concurrency/… -
@biziclop 你不相信引导性问题,是吗?
标签: java multithreading wait