我遇到了一些 Java 代码,它的方法包含以下内容:
静态布尔waitForSeconds(长秒){
尝试 {
Thread.sleep(秒 * 1000);
} 捕捉(InterruptedException ex){
返回假;
}
返回真;
}
这样做的目的可能是什么?返回值用于确定计算是否应该继续。仅出于检查线程在那一秒内是否被中断的唯一目的而尝试休眠 1 秒对我来说似乎很奇怪。
调用此方法的代码是否试图完成与 thread.isInterrupted() 相同的事情?不管它想做什么,有没有更好的方法?
对 waitForSeconds 的调用出现在另一个方法的顶部,而不是在循环内部,因此如果此代码除了检查中断之外确实打算出于某种目的等待一秒钟,那么它似乎会检查错误地方。将 sleep 放在循环附近不是更好吗,这样更清楚它在做什么?
对于最后一个问题,请在此处回复: