Java中断正在运行的线程

来源:互联网 发布:侠盗猎魔2知乎 编辑:程序博客网 时间:2024/04/29 18:35
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;        }    }}
0 0
原创粉丝点击