目录
Java
中如何终止运行中的线程
Java
中终止线程,通常意味着在线程处理任务完成之前停掉正在做的操作,也就是放弃当前的操作,在 Java
中有以下 3
种方法可以终止正在运行的线程
- 使用退出标志,使线程正常退出,也就是当
run()
方法完成后线程中止 - 使用
stop()
方法,已被弃用。原因是:stop()
是立即终止,会导致一些数据被到处理一部分就会被终止,而用户并不知道哪些数据被处理,哪些没有被处理,产生了不完整的“残疾”数据,不符合完整性,所以被废弃 - 使用
interrupt()
方法中断线程。注意使用interrupt()
方法中断正在运行中的线程只会修改中断状态位,可以通过isInterrupted()
判断。如果使用interrupt()
方法中断阻塞中的线程,那么就会抛出InterruptedException
异常,可以通过catch
捕获异常,然后进行处理后终止线程。有些情况,我们不能判断线程的状态,所以使用interrupt()
方法时一定要慎重考虑