每当我们想要通过调用Java中Thread类的stop()方法来停止一个正在运行的线程时,该方法会停止正在运行的线程的执行,并将其从等待线程池中移除并进行垃圾回收。当线程达到其方法的末尾时,它也会自动转移到死亡状态。由于线程安全问题,stop()方法在Java中已被弃用。
语法
@Deprecated
public final void stop()
登录后复制
示例
import static java.lang.Thread.currentThread;
public class ThreadStopTest {
public static void main(String args[]) throws InterruptedException {
UserThread userThread = new UserThread();
Thread thread = new Thread(userThread, "T1");
thread.start();
System.out.println(currentThread().getName() + " is stopping user thread");
userThread.stop();
Thread.sleep(2000);
System.out.println(currentThread().getName() + " is finished now");
}
}
class UserThread implements Runnable {
private volatile boolean exit = false;
public void run() {
while(!exit) {
System.out.println("The user thread is running");
}
System.out.println("The user thread is now stopped");
}
public void stop() {
exit = true;
}
}
登录后复制
输出
main is stopping user thread
The user thread is running
The user thread is now stopped
main is finished now
登录后复制
以上就是我们如何在Java中停止一个线程?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!