Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中等待一个时间框架:Thread.sleep(int)是如何工作的?_Java_Multithreading_Sleep - Fatal编程技术网

在Java中等待一个时间框架:Thread.sleep(int)是如何工作的?

在Java中等待一个时间框架:Thread.sleep(int)是如何工作的?,java,multithreading,sleep,Java,Multithreading,Sleep,通常,我使用Thread.sleep(int)将程序延迟一小段时间,并使用e.printStackTrace()try/catch块。我想取消异常处理。我写了这个函数: private static void pause(int millis) { long end = System.currentTimeMillis() + millis; while(System.currentTimeMillis() <= end) { // Do nothing

通常,我使用
Thread.sleep(int)
将程序延迟一小段时间,并使用
e.printStackTrace()
try/catch块。我想取消异常处理。我写了这个函数:

private static void pause(int millis) {
    long end = System.currentTimeMillis() + millis;
    while(System.currentTimeMillis() <= end) {
        // Do nothing
    }
}
专用静态无效暂停(int毫秒){
长端=System.currentTimeMillis()+毫秒;

while(System.currentTimeMillis()Thread.sleep)直接通过JNI调用系统函数,就像Windows中的sleep()函数一样,Thread.sleep()不执行任何活动;线程被挂起。但是如果您只是试图绕过异常处理,为什么不将其添加到帮助器方法中呢

private static void pause(int millis) {
    try {
        Thread.sleep(millis);
    } catch (InterruptedException e) {
        // Do nothing
    }
}
如果希望确保方法不会过早完成,可以将try-catch放在while循环中

顺便说一句,从技术上讲,循环不需要实体,因此可以在方法中用分号替换大括号

更新:事实上