使用多线程的过程中,有时需要停止正在做的操作,即终止一个线程,在Java的历史版本中使用的是(Thread.stop)方法。​不幸的是虽然它确实可以停止一个正在运行的线程,但是这个方法既是不安全的,也是作废的(deprecated),在将来的Java版本中,这个方法将不可用或不被支持。

那如何正常终止线程了,我总结了一下三种方法。

1. 使用stop方法强行终止线程。但是stop以及suspend都是作废的方法,因此不推荐。当然,如果jdk永远不会升级,还是可以考虑的。

2. 使用interrupt中断线程。

3. 使用标志位,在线程中添加一个标记。在run方法执行完后终止线程。