已经被抛弃的方法:
通过调用stop()
通过调用suspend()和resume()方法
废弃原因(再写具体一点):
太过暴力,可能会导致一些清理工作不会完成
调用后会直接释放锁,可能会导致数据不同步的问题https://www.jianshu.com/p/e0ff2e420ab6
目前使用的方法:
调用interrupt(),通知线程应该中断
1.如果线程处于阻塞状态,那么线程将立即退出阻塞状态,并抛出一个InterruptedException异常
2.如果线程处于正常活动状态,那么会将该线程的中断标志设置为true,被设置中断标志的线程将继续正常运行,不受影响。
注:需要被调用的线程配合中断:1.在正常运行任务时,经常检查本线程的中断标志,如果中断标志为true,就寻找一个安全的位置自行停止线程。2.如果线程处于正常活动状态,那么会将该线程的中断标志设置为true,被设置的线程将继续运行,不受影响。
示例代码: