zoukankan      html  css  js  c++  java
  • Java多线程(五)停止线程 interrupt

    调用interrupt方法仅仅是在当前线程中打了一个停止的标记,并不是真正停止线程。

    this.interrupted() :测试当前线程是否已经中断,执行后具有将状态标志清除为false的功能

    isInterrupted() :   测试线程Thread对象是否已经是中断状态,但不清除状态标志。

    public class InterruptDemo extends Thread{
    
        public void run(){
            super.run();
            try{
                
            for(int i =0;i< 500000;i++){
                if(this.isInterrupted()){
                    System.out.println("run:" +InterruptDemo.interrupted());
                    System.out.println("已经是停止状态了!");
                    //throw new InterruptedException(); 代替break 解决 后面语句继续执行的问题, 即:System.out.println("我在for的下面,线程终止了");
    //                break;
                    throw new InterruptedException();
                }
                System.out.println("i="+(i+1));
            }
            System.out.println("我在for的下面,线程终止了");
            }catch(Exception e){
                System.out.println("进入run方法中的catch了!!");
                e.printStackTrace();
            }
        }
        public static void main(String[] args) {
    
            try {
                InterruptDemo thread = new InterruptDemo();
                thread.start();
                Thread.sleep(2000);
                thread.interrupt();
                System.out.println("thread"+thread.isInterrupted());
                System.out.println("main:"+InterruptDemo.interrupted());
                
                //Thread.currentThread().interrupt();
                //System.out.println(Thread.interrupted());
                ///System.out.println(Thread.interrupted());
                
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    C++小知识之Vector用法
    云计算和大数据入门
    C++解析JSON之JsonCPP
    OSS研究
    linux内核--进程地址空间(三)
    学习笔记:修改网吧计费系统
    学习笔记:找回电脑开机密码
    例说C#深拷贝与浅拷贝
    JBossESB教程(一)——开发环境的搭建
    Java集合---ConcurrentHashMap原理分析
  • 原文地址:https://www.cnblogs.com/newlangwen/p/7595249.html
Copyright © 2011-2022 走看看