Java 仅仅为了查看线程是否被中断而睡觉的目的可能是什么?

Java 仅仅为了查看线程是否被中断而睡觉的目的可能是什么?,java,multithreading,thread-sleep,interrupted-exception,Java,Multithreading,Thread Sleep,Interrupted Exception,我遇到了一些Java代码,其中有一个包含以下内容的方法: static boolean waitForSeconds(long seconds) { try { Thread.sleep(seconds * 1000); } catch (InterruptedException ex) { return false; } return true; } 静态布尔waitForSeconds(长秒){ 试一试{ 线程睡眠(秒*1000

我遇到了一些Java代码,其中有一个包含以下内容的方法:

static boolean waitForSeconds(long seconds) { try { Thread.sleep(seconds * 1000); } catch (InterruptedException ex) { return false; } return true; } 静态布尔waitForSeconds(长秒){ 试一试{ 线程睡眠(秒*1000); }捕获(中断异常例外){ 返回false; } 返回true; } 这样做的目的可能是什么?返回值用于确定计算是否应继续。我觉得奇怪的是,仅仅为了检查线程是否在那一秒钟中断而尝试睡眠1秒钟

调用此方法的代码是否试图完成与thread.isInterrupted()相同的任务?不管它想做什么,有没有更好的办法

对waitForSeconds的调用出现在另一个方法的顶部,而不是循环内部,因此,如果此代码除了检查中断之外,还打算为了某种目的等待一秒钟,那么它似乎是在错误的位置进行检查。把睡眠放在循环附近不是更好吗,这样做更清楚它在做什么

关于最后一个问题,请在这里回答:


目的是暂停

检查调用外部方法的代码,尝试查看它们为什么要暂停。

他们可能希望节省CPU或网络。

该方法的目的是使线程执行停止指定的秒数。catch子句允许该方法与调用方通信线程被中断,而不是时间段过期。

其想法可能是在计算中引入暂停,但如果暂停被中断,则意味着计算不应继续。如果看不到周围的(调用)代码,就无法说出为什么需要暂停。

我猜他们想暂停至少x秒;如果由于某种原因线程无法睡眠那么长时间,他们会使用返回值再次调用该方法