场景 : 希望中断线程执行, 一段时间后继续执行
如某程序中的一个线程, 每分钟检查一次传感器状态,其他时间空闲。空闲时不占用CPU,过后则准备好在JVM选择它执行时继续执行。
解决方案:
线程类 (FileClock)
for (int i = 0; i < 10; i++) { System.out.printf("%s\n", new Date()); try { TimeUnit.SECONDS.sleep(1); } catch (InterruptedException e) { System.out.println("The FileClock has been interrupted"); } }
控制类 (Main)
FileClock clock = new FileClock(); Thread thread = new Thread(clock); thread.start(); try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } thread.interrupt();