温馨提示×

java怎么将线程停止又开始

小亿
130
2023-08-08 18:52:32
栏目: 编程语言

在Java中,可以使用Thread类的stop()start()方法来停止和启动线程。

要停止一个线程,可以调用stop()方法。但是这个方法已经被废弃,并且不推荐使用,因为它可能会导致线程未完成的操作或者资源泄漏。

一个更好的方式是,通过设置一个标志位来控制线程的执行状态。例如,可以定义一个boolean类型的变量,当需要停止线程时,将该变量设置为false。在线程的run()方法中,使用一个循环来不断检查这个标志位,如果标志位为false,则退出循环,从而停止线程。

下面是一个示例代码:

public class MyThread extends Thread {
private volatile boolean running = true;
public void stopThread() {
running = false;
}
@Override
public void run() {
while (running) {
// 该线程的具体操作
}
}
}
// 在其他地方停止线程
MyThread thread = new MyThread();
thread.start();
// 调用stopThread()方法停止线程
thread.stopThread();

要重新启动一个线程,可以创建一个新的Thread对象,并调用start()方法。

注意,当一个线程被停止后,它将不再能够重新启动。因此,如果需要多次停止和启动一个线程,应该在每次停止后创建一个新的线程对象来重新启动。

0