public class ww
{
public static void main(String[] args)
{
TestThread t=new TestThread();
TestThread t2=new TestThread();
System.out.println(t.isAlive());
t.start();
t2.start();
try
{
t.setDaemon(true);
}
catch(IllegalThreadStateException e)
{
System.out.println(e.toString());
}
int e=0;
e++;
System.out.println(Thread.currentThread().isAlive());
}
} class TestThread extends Thread
{
public void run()
{
int i=20;
while(i>0)
{
i--;
System.out.println("我的线程"+Thread.currentThread().getName()+" "+i+" "+this.isAlive());
}
}
}
运行的结果是:
false
java.lang.IllegalThreadStateException
true
我的线程Thread-0 19 true
我的线程Thread-0 18 true
我的线程Thread-0 17 true
我的线程Thread-0 16 true
我的线程Thread-0 15 true
我的线程Thread-0 14 true
我的线程Thread-0 13 true
我的线程Thread-0 12 true
我的线程Thread-0 11 true
我的线程Thread-0 10 true
我的线程Thread-0 9 true
我的线程Thread-0 8 true
我的线程Thread-0 7 true
我的线程Thread-0 6 true
我的线程Thread-0 5 true
我的线程Thread-1 19 true
我的线程Thread-0 4 true
我的线程Thread-1 18 true
我的线程Thread-0 3 true
我的线程Thread-1 17 true
我的线程Thread-0 2 true
我的线程Thread-1 16 true
我的线程Thread-0 1 true
我的线程Thread-1 15 true
我的线程Thread-0 0 true
我的线程Thread-1 14 true
我的线程Thread-1 13 true
我的线程Thread-1 12 true
我的线程Thread-1 11 true
我的线程Thread-1 10 true
我的线程Thread-1 9 true
我的线程Thread-1 8 true
我的线程Thread-1 7 true
我的线程Thread-1 6 true
我的线程Thread-1 5 true
我的线程Thread-1 4 true
我的线程Thread-1 3 true
我的线程Thread-1 2 true
我的线程Thread-1 1 true
我的线程Thread-1 0 true
为什么会抛出java.lang.IllegalThreadStateException这个异常,try里面有什么错误吗?搞不明白??
{
public static void main(String[] args)
{
TestThread t=new TestThread();
TestThread t2=new TestThread();
System.out.println(t.isAlive());
t.start();
t2.start();
try
{
t.setDaemon(true);
}
catch(IllegalThreadStateException e)
{
System.out.println(e.toString());
}
int e=0;
e++;
System.out.println(Thread.currentThread().isAlive());
}
} class TestThread extends Thread
{
public void run()
{
int i=20;
while(i>0)
{
i--;
System.out.println("我的线程"+Thread.currentThread().getName()+" "+i+" "+this.isAlive());
}
}
}
运行的结果是:
false
java.lang.IllegalThreadStateException
true
我的线程Thread-0 19 true
我的线程Thread-0 18 true
我的线程Thread-0 17 true
我的线程Thread-0 16 true
我的线程Thread-0 15 true
我的线程Thread-0 14 true
我的线程Thread-0 13 true
我的线程Thread-0 12 true
我的线程Thread-0 11 true
我的线程Thread-0 10 true
我的线程Thread-0 9 true
我的线程Thread-0 8 true
我的线程Thread-0 7 true
我的线程Thread-0 6 true
我的线程Thread-0 5 true
我的线程Thread-1 19 true
我的线程Thread-0 4 true
我的线程Thread-1 18 true
我的线程Thread-0 3 true
我的线程Thread-1 17 true
我的线程Thread-0 2 true
我的线程Thread-1 16 true
我的线程Thread-0 1 true
我的线程Thread-1 15 true
我的线程Thread-0 0 true
我的线程Thread-1 14 true
我的线程Thread-1 13 true
我的线程Thread-1 12 true
我的线程Thread-1 11 true
我的线程Thread-1 10 true
我的线程Thread-1 9 true
我的线程Thread-1 8 true
我的线程Thread-1 7 true
我的线程Thread-1 6 true
我的线程Thread-1 5 true
我的线程Thread-1 4 true
我的线程Thread-1 3 true
我的线程Thread-1 2 true
我的线程Thread-1 1 true
我的线程Thread-1 0 true
为什么会抛出java.lang.IllegalThreadStateException这个异常,try里面有什么错误吗?搞不明白??
t.setDaemon(true); 方法必须在start之前调用!