public class MyTest {
public static void main(String[] args) {
Thread testThread = new BreakThread();
testThread.start();
try {
//主线程等待一秒钟后继续往下执行
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//给testThread线程 发送一个信号 告诉它 “我要中断你了”
testThread.interrupt();
}
public static class BreakThread extends Thread {
@Override
public void run() {
long number = 1L;
while (true) {
if (isPrime(number)) {
System.out.println("The prime number is " + number);
}
//如果收到 interrupt信号,isInterrupted()则为true
if (isInterrupted()) {
System.out.println("The thread isInterrupted");
return;
}
number++;
}
}
//判断数字是否为质数
private boolean isPrime(long number) {
if (number <= 2) {
return true;
}
for (long i = 2; i < number; i++) {
if (number % 2 == 0) {
return false;
}
}
return true;
}
}
}
Java中断正在运行的线程
最新推荐文章于 2023-11-21 19:19:01 发布