JVM通过线程相关native方法与操作系统的线程进行交互,一个线程正在操作系统中运行,Java代码中该如何正确的告诉系统将该线程终止?
不建议直接使用stop方法来终止线程,实际上stop也无法达到正确终止线程的目的;
以下是几种合理终止线程的方法:
1、run方法运行完成
2、在run方法中设置标志位,如果标志位为false,则跳过执行代码,run方法结束(同1)
3、在线程外调用interrupt方法,在run方法内需要考虑被外部终止的代码上,增加InterruptedException捕获,在catch或者finally代码块调用Thread.currentThread().interrupt()将当前线程标记为中断