• 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();
            }
        }
    }
  • 相关阅读:
    jquery+ajax+ashx。ashx的使用方法
    如何在ashx页面获取Session值
    模式DIV。
    .net 中文传参
    5分钟无操作,退出,操作方法,关闭页面
    SQL Server DATEDIFF() 函数(SQL计算时间差)
    Sql server 事务的两种用法
    正则表达式相关
    jQuery AJAX实现调用页面后台方法。调用ashx方法
    时间差(类.精确到秒).net中实现Datediff类C#
  • 原文地址:https://www.cnblogs.com/newlangwen/p/7595249.html
Copyright © 2020-2023  润新知