首页 > 代码库 > JAVA多线程(十二)模式-Two Phase Termination

JAVA多线程(十二)模式-Two Phase Termination

Two Phase Termination

显示调用资源清理方法,清理结束后正式关闭。

适用环境

需要在线程正式结束前清理资源。

样例

在线程的循环执行方法中检查终止状态,如果为真(或者运行中发生错误),退出循环体,进而执行循环体外finally部分进行清理。

此模式并非是立即停止,如果线程本身处于等待、阻塞等状态时,需要对中断后场景做处理,比如打断长时间等待的任务后转为继续处理其他任务。

			try{
				while(!isStoped){
					try{						
						doSomething();
					}catch(InterruptedException e){
						if(isStoped){
							break;
						}
					}
				}
			}catch(Exception e){
				manageException(e);
			}finally{
				doClean();
			}

本文出自 “JAVA技术栈笔记” 博客,请务必保留此出处http://stroll.blog.51cto.com/11038467/1863294

JAVA多线程(十二)模式-Two Phase Termination