线程问题,急!!!!
下面的线程是不是用interrupt()来中断??如果是的话,为什么中断了还会运行后面的语句?如果不是的话,那应该怎么样来终止线程?
class test
{
public test()
{
work w=new work();
w.start();
}
public static void main(String[] args)
{
test t=new test();
}
}
class work extends Thread
{
public void run()
{
System.out.println("线程正在运行!!");
this.interrupt();
System.out.println("线程关闭了!!");
System.out.println("为何还能显示,出问题了!!");
}
}
回复 1# 的帖子
class test{
public test()
{
work w=new work();
w.start();
}
public static void main(String[] args)
{
test t=new test();
}
}
class work extends Thread
{
public void run()
{
System.out.println("线程正在运行!!");
this.interrupt();
if(isInterrupted()){
System.out.println("线程关闭了!!");}
else
System.out.println("为何还能显示,出问题了!!");
}
}
我加了个判断, 测试当前线程是否已经中断。返回应该也是被中断了! 用this.interrupt()中断了线程,怎么还会执行if语句啊??我想实现线程一旦被终止或结束后,不再执行下面的语句! interrupt()的作用只是"唤醒"由于sleep()方法面处于休眠状态的线程,使其重新排队等待CPU资源!并没有说马上就能中断本线程!
回复 3# 的帖子
呵呵! 那怎么样人为地终止线程??页:
[1]
