Java 线程的两次启动

一个常见的问题:我们可以启动同一个线程两次吗?

答案是:不可以!

启动线程后,将永远无法再次启动它。如果您这样做,则抛出IllegalThreadStateException异常。

让我们通过以下示例看看:

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 *  我们可以启动同一个线程两次吗?
 */
public class Demo extends Thread{
    public void run(){
        System.out.println("running...");
    }
    public static void main(String args[]){
        Demo t1=new Demo();
        t1.start();
        t1.start();
    }
}

输出结果为:

Exception in thread "main" java.lang.IllegalThreadStateException
	at java.lang.Thread.start(Thread.java:705)
	at com.yiidian.Demo.main(Demo.java:16)
running...

 

热门文章

优秀文章