/**
* 重启线程
* @return
*/
public boolean restart() {
if(getState() == Thread.State.NEW)
start();
else {
try {
stop();
Field field = Thread.class.getDeclaredField("threadStatus");
// 恢复线程初始状态
Method method = Thread.class.getDeclaredMethod("init", ThreadGroup.class, Runnable.class, String.class, long.class,AccessControlContext.class);
method.setAccessible(true);
method.invoke(this, null, null, "Thread-" + this.getId(), 0, null);
field.setAccessible(true);
field.set(this, 0);
this.start();
} catch(Exception e) {
e.printStackTrace();
}
}
return true;
}
java重启线程
猜你喜欢
转载自blog.csdn.net/yuan1164345228/article/details/104823901
今日推荐
周排行