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
  • 相关阅读:
    从汇编看c++中的placement operator new
    从汇编看c++的new和delete
    从汇编看c++中全局对象和全局变量
    javascript中的this
    好工具
    js压缩解压工具
    IE的documentMode属性
    77. sqlserver 锁表解决方式
    75. ID重新走过,备份表
    5. Java中序列化的serialVersionUID作用
  • 原文地址:https://www.cnblogs.com/LIANQQ/p/4633724.html
Copyright © 2011-2022 走看看