如果加入线程不起作用,建议做什么?
for (List t : threads) {
try {
t.join();
} catch (InterruptedException e) {
log.error("Thread " + t.getId() + " interrupted: " + e);
// and now?
}
}
是否建议中断(然后其他尚未加入的线程会发生什么情况?)或者您是否应该至少尝试加入其余线程然后继续?
感谢您的建议!
==>结论:您应该再次尝试加入特定线程 t 或者您应该中断该特定线程 t 并继续。
for (List t : threads) {
try {
t.join();
} catch (InterruptedException e) {
try {
// try once! again:
t.join();
} catch (InterruptedException ex) {
// once again exception caught, so:
t.interrupt();
}
}
}
那么您如何看待这个解决方案?做“t.interrupt()”是正确的还是应该是Thread.currentThread().interrupt(); ?
谢谢!:-)