在Java中,正确中断线程通常有两种方法:
示例代码如下:
Thread thread = new Thread(() -> {
while (!Thread.currentThread().isInterrupted()) {
// 执行线程逻辑
}
});
thread.start();
// 中断线程
thread.interrupt();
示例代码如下:
volatile boolean flag = true;
Thread thread = new Thread(() -> {
while (flag) {
// 执行线程逻辑
}
});
thread.start();
// 中断线程
flag = false;
需要注意的是,中断线程并不意味着线程立即停止,而是设置了中断标志位之后,线程可以根据中断标志位来决定是否停止执行。在编写线程逻辑时,需要在适当的地方检查中断标志位,以确保线程可以正确响应中断。