首页 > 技术文章 > java多线程(2)连续重启一个线程报错

herosoft 2019-04-19 16:55 原文

package com.javaconcurrencyprogramming.chapter1;

import java.util.concurrent.TimeUnit;

/**
* @description: 一个线程不能重复启动
* @author:
* @create:
**/

public class RestartThreadError {

public static void main(String[] args) {

Thread thread = new Thread(){

public void run(){
try {
TimeUnit.SECONDS.sleep(10);

}catch (InterruptedException e){
e.printStackTrace();
}
}
};

thread.start();//启动线程

thread.start();//重启线程报IllegalThreadStateException异常
}


}



//重新激活一个线程报IllegalThreadStateException

package com.javaconcurrencyprogramming.chapter1;

import java.util.concurrent.TimeUnit;

/**
* @description: 一个线程不能重复启动
* @author:
* @create:
**/

public class RestartThreadError {

public static void main(String[] args) throws InterruptedException {

Thread thread = new Thread(){

public void run(){
try {
TimeUnit.SECONDS.sleep(1);

}catch (InterruptedException e){
e.printStackTrace();
}
}
};

thread.start();

TimeUnit.SECONDS.sleep(4);

thread.start();//重启线程报IllegalThreadStateException异常
}


}

推荐阅读