java线程终止的有甚么方法
在Java中,线程的终止方法有以下几种:
1. 使用标志位:在线程的run方法中添加一个boolean类型的标志位,当标志位为false时,线程退出循环,终止履行。
```java
public class MyThread extends Thread {
private boolean flag = true;
public void run() {
while (flag) {
// 线程履行的逻辑
}
}
public void stopThread() {
flag = false;
}
}
```
2. 使用interrupt方法:调用线程对象的interrupt方法可以中断线程的履行。在线程的run方法中通过调用Thread类的静态方法interrupted()还是实例方法isInterrupted()来判断线程是否是被中断。
```java
public class MyThread extends Thread {
public void run() {
while (!Thread.interrupted()) {
// 线程履行的逻辑
}
}
}
```
3. 使用stop方法:通过调用线程对象的stop方法可以立即终止线程的履行。但是,stop方法已被标记为废弃,不推荐使用,由于它可能会致使线程的状态不一致还是资源未释放。
```java
public class MyThread extends Thread {
public void run() {
// 线程履行的逻辑
}
}
MyThread myThread = new MyThread();
myThread.start();
myThread.stop();
```
4. 使用return语句:在线程的run方法中使用return语句可以终止线程的履行,类似于方法的返回。但是,该方法只能用于终止当前线程,不能用于终止其他线程。
```java
public class MyThread extends Thread {
public void run() {
// 线程履行的逻辑
return;
}
}
```
TOP