每当我们想要通过调用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.<strong>stop()</strong>; 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中停止一个线程?的详细内容。更多信息请关注PHP中文网其他相关文章!