zoukankan      html  css  js  c++  java
  • Java7并发编程实战(一) 线程的中断

    控制线程中断的方法一般常规是定义一个布尔值,然后while(布尔值) 去执行,当想停止该线程时候,把布尔值设为false.

    这里我们来看第二种,Interrupt

    该例子模拟一个线程从1打印到10,然后到5的时候中断线程,主要在线程中捕捉

    InterruptedException 异常
    public class Test implements Runnable {
    
        @Override
        public void run() {
            // TODO Auto-generated method stubfor(int i=0;i<10;i++){
                System.out.println("打印"+i);
                try {
                    TimeUnit.SECONDS.sleep(1);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    System.out.println("线程interrupterd");
                }
            }
        }
    }

    在Main方法中进行中断

    public class Main {
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Test tt = new Test();
            Thread thread = new Thread(tt);
            thread.start();
            try {
                TimeUnit.SECONDS.sleep(5);
                
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            thread.interrupt();
        }
    }

    打印结果

    打印0
    打印1
    打印2
    打印3
    打印4
    线程interrupterd
    打印5
    打印6
    打印7
    打印8
    打印9
  • 相关阅读:
    as3 三行三列 布满9个为一个界面
    as3 判断鼠标移动方向
    求两点之间 的直线距离
    AS3 localToGlobal、globalToLocal方法的总结
    as3 TweenMax TweenLite方法
    禁止点击
    影片 发光 变色
    ASCII字符串互换
    关于C语言的书
    关于态度
  • 原文地址:https://www.cnblogs.com/LIANQQ/p/4633724.html
Copyright © 2011-2022 走看看