【发布时间】:2015-05-27 00:39:20
【问题描述】:
synchronized (Foo.class) {
while (someCondition) {
try {
Foo.class.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
似乎当其他线程在此线程上调用interrupt() 或notify() 时,此线程都被唤醒。两者有什么区别吗?
--编辑--
我知道一个用于通知对象,另一个用于中断线程。但是这两个导致的结果是一样的,就是这个线程被唤醒了,所以我想问的是,这两种情况的结果有什么不同。
【问题讨论】:
-
一个导致异常,另一个导致返回。一个通知一个对象,另一个中断一个线程。一个是苹果,另一个是橙子。
-
醒来并不是唯一的后果,正如您将在文档中看到的那样。
标签: java multithreading wait notify interruption