zoukankan      html  css  js  c++  java
  • java线程复习3(线程的中断)

    package MyThread.Test3;
    
    import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;
    
    /*
     * Create by dapeng on 2018/2/2
     */
    public class PrimeGenerator extends Thread {
        @Override
        public void run() {
            long number = 2;
            while(true){
            if(isPrime(number)){
                System.out.println("The number " + number +"is prime");
            }
            if(isInterrupted()){
                System.out.println("The PrimeGenerator has been interrupted");
                return ;
            }
            number ++;
        }
    
        }
        private boolean isPrime(long number){
            if(number <= 2){
                return false;
            }
            for(long i = 2 ; i < number/2 ; i ++){
                if(number % i == 0){
                    return true;
                }
            }
            return false;
        }
    }
    package MyThread.Test3;
    
    /*
     * Create by dapeng on 2018/2/2
     */
    public class Main {
        public static void main(String[] args) {
    
            Thread prime = new PrimeGenerator();
            prime.start();
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            prime.interrupt();
        }
    }

    需要在Prime中设置函数 检查是否产生中断isInterrupted()

    在需要中断的时候prime.interrupt()

    在之前提到的,线程是可以忽略中断指令的,但是并这不是我们所期望的行为

  • 相关阅读:
    org-mode
    MediaWiki
    Creole
    AsciiDoc
    markdown
    图像对比度调整的simulink仿真总结
    Altera的几个常用的Synthesis attributes(转载)
    红外发送接收电路(转载)
    使用反相器的rc振荡电路
    两个小电路
  • 原文地址:https://www.cnblogs.com/da-peng/p/8403858.html
Copyright © 2011-2022 走看看