在系统开发中常常设计到多线程的使用,正常需求下开启线程不需要中途停止,特殊需求下需要停止当前线程(我当前的网页爬取系统中用到,也可能是由于我业务和系统设计不太合理,后期再优化,先出产品线)。
根据Java中提供的知识,我们可以知道终止当前线程的方法有Thread.stop、Thread.suspend、Thread.resume和Runtime.runFinalizersOnExit,不过这些方法都已经废弃,因为这些都是不安全的。PS:如果有特殊需求,直接使用System.exit()也可以,哈哈~
上面的玩笑开完了,进入正题,在我看来现在结束当前线程的方法主要有3个:
1. 标志位的方式:return或者break终止当前线程
2. 抛出异常的方式:抛出RuntimeException异常
3. 改变当前条件的方式:如while(条件) 使得条件为false
本次项目中我使用了第二种,抛出异常时并详细说明了异常信息,并将异常信息记录在日志中。小弟才疏学浅,也只会这么多。如兄弟们有何好的方法,也欢迎拍砖~。
纯手打,仅此记录。
转载请指明出处:http://my.oschina.net/u/1991646/blog/683298