linux怎么查看本机内存大小
247
2022-12-02
两阶段终止模式
利用 isInterrupted
interrupt 可以打断正在执行的线程,无论这个线程是在 sleep,wait,还是正常运行。
当成功打断正在正常运行的线程时,线程的中断标记为true。
注意:interrupt方法只是提醒该线程需要被停止,具体是否停止由操作系统决定。
可以使程序优雅的结束。可用于JVM内存监控。
class TPTInterrupt { private Thread thread; public void start(){ thread = new Thread(() -> { while(true) { Thread current = Thread.currentThread(); if(current.isInterrupted()) { log.debug("料理后事"); break; } try { Thread.sleep(1000); log.debug("将结果保存"); } catch (InterruptedException e) { current.interrupt(); }// 执行监控操作 } },"监控线程"); thread.start(); } public void stop() { thread.interrupt(); } }
调用
TPTInterrupt t = new TPTInterrupt(); t.start(); Thread.sleep(3500); log.debug("stop"); t.stop();
结果
11:49:42.915 c.TwoPhaseTermination [监控线程] - 将结果保存 11:49:43.919 c.TwoPhaseTermination [监控线程] - 将结果保存 11:49:44.919 c.TwoPhaseTermination [监控线程] - 将结果保存 11:49:45.413 c.TestTwoPhaseTermination [main] - stop 11:49:45.413 c.TwoPhaseTermination [监控线程] - 料理后事
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~