为什么会出现java.lang.InterruptedException
3个回答
展开全部
一般是线程在执行的时候被强行中断了。
在线程的执行过过程中,一个线程在休眠中,另一个线程调用了这个线程的Interrupt()方法,例如:
public class Test1 {
public static void main(String[] args) {
A a = new A();
a.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
a.interrupt();
}
static class A extends Thread{
public void run(){
try {
System.out.println("开始休眠");
Thread.sleep(40000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
在线程的执行过过程中,一个线程在休眠中,另一个线程调用了这个线程的Interrupt()方法,例如:
public class Test1 {
public static void main(String[] args) {
A a = new A();
a.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
a.interrupt();
}
static class A extends Thread{
public void run(){
try {
System.out.println("开始休眠");
Thread.sleep(40000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
2018-07-05 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
public class InterruptedException
extends Exception
当线程在活动之前或活动期间处于正在等待、休眠或占用状态且该线程被中断时,抛出该异常。有时候,一种方法可能希望测试当前线程是否已被中断,如果已被中断,则立即抛出此异常。下列代码可以达到这种效果:
if (Thread.interrupted()) // Clears interrupted status!
throw new InterruptedException();
extends Exception
当线程在活动之前或活动期间处于正在等待、休眠或占用状态且该线程被中断时,抛出该异常。有时候,一种方法可能希望测试当前线程是否已被中断,如果已被中断,则立即抛出此异常。下列代码可以达到这种效果:
if (Thread.interrupted()) // Clears interrupted status!
throw new InterruptedException();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-09-03
展开全部
中断异常,,,,,,,,,那就是线程被异常地中断 。。。。。。。。。。。。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询