赞
踩
1.简介
在这篇短文中,我们将讲述一下java中如果结束一个线程-事实上,这并没有想象中的那么简单,因为 Thread.stop()方法已经被废弃啦。
根据Oracle的解释,stop()方法可以导致被监视对象遭受破坏。
2.使用一个Flag
我们先创建一个类并在其中创建启动一个线程,这个任务它自己不会结束,因此,我们需要有一个办法去结束这个线程。针对这种情况,我们将使用一个原子flag(atomic flag):public class ControlSubThread implements Runnable {
private Thread worker;
private final AtomicBoolean running = newAtomicBoolean(false);
private int interval;
public ControlSubThread(intsleepInterval) {
interval = sleepInterval;
}
public void start() {
worker = newThread(this);
worker.start();
}
public void stop() {
running.set(false);
}
public void run() {
running.set(true);
while(running.get()) {
try{
Thr
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。