Java问题,我同事说Thread.sleep(1000)可能会报异常,我觉得不可能啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java问题,我同事说Thread.sleep(1000)可能会报异常,我觉得不可能啊?相关的知识,希望对你有一定的参考价值。

Java问题,我同事说Thread.sleep(1000)可能会报异常,我觉得不可能啊?要是这样的话那应该整个java虚拟机都出问题了,他说的有道理吗?

参考技术A //public static void sleep(long millis)
// throws InterruptedException
//在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),
//此操作受到系统计时器和调度程序精度和准确性的影响。
//该线程不丢失任何监视器的所属权。
//参数:
//millis - 以毫秒为单位的休眠时间。
//抛出:
//InterruptedException - 如果任何线程中断了当前线程。当抛出该异常时,当前线程的中断状态 被清除。

//下面是一个例子。
public class P

public static void main(String[] args)

Thread t=new Thread()

public void run()

int ms=1000;

System.out.printf("线程\"%s\"在Thread.sleep(%d);时将抛出InterruptedException异常。",
Thread.currentThread().getName(),
ms);
System.out.println();
try

Thread.sleep(ms);

catch(Exception ex)

System.out.printf("捕获了线程\"%s\"抛出的%s异常。",
Thread.currentThread().getName(),
ex.getClass().getSimpleName());
System.out.println(ex.getMessage());


;
t.setName("t");
t.start();
//令主线程休眠200毫秒
try

Thread.sleep(200);

catch(Exception ex)

System.out.println(ex.getMessage());

//中断线程t
t.interrupt();
//令主线程休眠5秒
try

Thread.sleep(5000);

catch(Exception ex)

System.out.println(ex.getMessage());

System.out.println("主线程退出");

本回答被提问者采纳
参考技术B 会啊。sleep方法本身定义的时候就考虑了异常
public static void sleep(long millis) throws InterruptedException;

因为一个线程处于sleep状态,可能会被打断,也就是抛出interruptedException
参考技术C 线程安全是个很蛋疼的问题,异步转同步想想都觉得需要去上个厕所喝杯咖啡等好久才可以 参考技术D 会吗?表示我就挺喜欢老实男生😜我前女友和现任老公都是老实的那种,不会动不动耍心眼算计你套路你,也没那么多花花肠子,虽然情调差点,但感觉踏实。。。 第5个回答  2019-03-24 只要没有大的问题,下一个手机就是你了

C#中关于Thread.sleep(1000)的问题!!

想问下,假如程序开启了10条线程,我在其中的一条线程执行Thread.sleep(1000),这个时候,是这条线程暂停一秒,还是说10线程包括主线程都会暂停一秒呢??

要使一条子线程暂停一秒钟,还有没有其它更好的方法??

参考技术A 如果你没加判断条件哪个线程执行sleep1秒就是10个线程都sleep1秒,如果判断了就是一个线程 参考技术B 你初始化出来的被定义为子线程,如果未指定那一线程的话,将会是所有子线程暂停1S 参考技术C 当然是子线程上暂停一秒。 参考技术D 是指当前线程。不影响其他的

参考:http://msdn.microsoft.com/zh-cn/library/d00bd51t(v=vs.110).aspx本回答被提问者采纳
第5个回答  2013-12-28 10条都暂停一秒,确定

以上是关于Java问题,我同事说Thread.sleep(1000)可能会报异常,我觉得不可能啊?的主要内容,如果未能解决你的问题,请参考以下文章

C#中关于Thread.sleep(1000)的问题!!

java Thread.sleep卡死问题

NetBeans / Java / 新提示:在循环中调用 Thread.sleep

Thread.sleep() 实现

Java - 替代 thread.sleep

Java的Thread.sleep啥时候抛出InterruptedException?