java如何终止线程
时间: 2023-12-29 09:25:08 浏览: 29
Java中可以使用以下方法终止线程:
1. 使用退出标志,使线程正常退出,也就是当run()方法完成后线程中止。
2. 使用interrupt()方法中断线程。该方法会设置线程的中断标志,可以在线程中使用isInterrupted()方法检查中断标志并做出相应的处理,也可以在sleep()、wait()等方法中抛出InterruptedException异常来响应中断。
下面是一个使用interrupt()方法中断线程的例子:
```java
public class MyThread extends Thread {
public void run() {
try {
while (!Thread.currentThread().isInterrupted()) {
// 线程执行的代码
}
} catch (InterruptedException e) {
// 捕获InterruptedException异常并处理
}
}
}
// 在另一个线程中调用interrupt()方法来中断MyThread线程
MyThread myThread = new MyThread();
myThread.start();
myThread.interrupt();
```
注意:使用interrupt()方法中断线程并不会立即停止线程,而是设置线程的中断标志,需要在线程中检查中断标志并做出相应的处理。同时,如果线程处于阻塞状态(如sleep()、wait()等方法),那么调用interrupt()方法会抛出InterruptedException异常,需要在catch块中处理该异常。