线程的interrupt方法使用例子
时间: 2023-09-10 11:11:08 浏览: 83
C#停止线程的方法(示例)
下面是一个使用Java线程的interrupt方法的例子:
```java
public class MyThread extends Thread {
public void run() {
try {
while (!isInterrupted()) {
// 此处执行线程的任务
// 可以在任务中使用Thread.sleep()方法来模拟长时间运行的代码
}
} catch (InterruptedException e) {
// 在捕获InterruptedException异常之后,线程退出
System.out.println("线程被中断");
}
}
}
public class Main {
public static void main(String[] args) throws InterruptedException {
MyThread thread = new MyThread();
thread.start();
// 等待5秒后中断线程
Thread.sleep(5000);
thread.interrupt();
}
}
```
在上面的例子中,我们定义了一个名为MyThread的线程类。在线程的run方法中,我们使用while循环来执行线程的任务,同时使用isInterrupted方法来判断线程是否被中断。如果线程没有被中断,就继续执行任务;如果线程被中断,就抛出InterruptedException异常,然后线程退出。
在Main类的main方法中,我们创建了一个MyThread线程,并启动它。然后,我们让主线程等待5秒后,调用MyThread线程的interrupt方法来中断它。当MyThread线程被中断时,它会抛出InterruptedException异常,然后停止执行任务,退出线程。
阅读全文