• 采用线程中断信号量停止线程


      采用控制一个中断标识符的方式来停止一个线程:

    package thread.test;
    
    class InteruptTest extends Thread {
    	volatile boolean stop = false;// 线程中断信号量
    
    	public static void main(String args[]) throws Exception {
    		InteruptTest thread = new InteruptTest();
    		System.out.println("Starting thread...");
    		thread.start();
    		Thread.sleep(3000);
    		System.out.println("Asking thread to stop...");
    		// 设置中断信号量
    		thread.stop = true;
    		Thread.sleep(3000);
    		System.out.println("Stopping application...");
    	}
    
    	public void run() {
    		// 每隔一秒检测一下中断信号量
    		while (!stop) {
    			System.out.println("Thread is running...");
    			long time = System.currentTimeMillis();
    			/*
    			 * 使用while循环模拟 sleep 方法,这里不要使用sleep,否则在阻塞时会 抛
    			 * InterruptedException异常而退出循环,这样while检测stop条件就不会执行, 失去了意义。
    			 */
    			while ((System.currentTimeMillis() - time < 1000)) {
    			}
    		}
    		System.out.println("Thread exiting under request...");
    	}
    }
    

      

  • 相关阅读:
    菜吉の骗分导论
    P3527 [POI2011]MET-Meteors 整体二分
    整体二分
    P5459 [BJOI2016]回转寿司 cdq分治
    P3810 【模板】三维偏序(陌上花开) cdq分治
    cdq分治:从归并到cdq套cdq
    KDtree 详解
    查看.a和so文件接口
    机器学习 ONNX Model Zoo
    剖析依赖属性
  • 原文地址:https://www.cnblogs.com/dashenaichicha/p/12596717.html
Copyright © 2020-2023  润新知