我遇到的问题是,有时我启动的线程在调用 wait()
之前就结束了。这似乎导致我的程序等待不会再次发生的事情 (notify()
)。我怎样才能确保不等待完成的线程?
void someFunction() {
MyThread thread = new MyThread();
thread.start();
// .. some stuff that takes sometimes quite long
synchronized(thread) {
try {
thread.wait();
} catch(InterruptedException e) {
// ..
}
}
}
最佳答案
如果您阅读 Thread 的 JavaDocs,它告诉您永远不会对 Thread 对象使用wait、notify 或 notifyAll
。你应该使用 join()
关于java - 避免等待终止的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27554127/