Two Phase Termination
显示调用资源清理方法,清理结束后正式关闭。
适用环境
需要在线程正式结束前清理资源。
样例
在线程的循环执行方法中检查终止状态,如果为真(或者运行中发生错误),退出循环体,进而执行循环体外finally部分进行清理。
此模式并非是立即停止,如果线程本身处于等待、阻塞等状态时,需要对中断后场景做处理,比如打断长时间等待的任务后转为继续处理其他任务。
try{ while(!isStoped){ try{ doSomething(); }catch(InterruptedException e){ if(isStoped){ break; } } } }catch(Exception e){ manageException(e); }finally{ doClean(); }
时间: 2024-09-30 14:56:35