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线程包括主线程都会暂停一秒呢??
要使一条子线程暂停一秒钟,还有没有其它更好的方法??
参考:http://msdn.microsoft.com/zh-cn/library/d00bd51t(v=vs.110).aspx本回答被提问者采纳 第5个回答 2013-12-28 10条都暂停一秒,确定
以上是关于Java问题,我同事说Thread.sleep(1000)可能会报异常,我觉得不可能啊?的主要内容,如果未能解决你的问题,请参考以下文章