demo地址:ThreadDemo: Java Thread Demo
一、Thread.stop()
该方法强迫停止一个线程,并抛出一个新创建的ThreadDeath对象作为异常。此方法java版本已不建议使用。
二、Thread.interrupt()相关方法
1.public void interrupt():中断线程。是唯一能将中断状态设置为true的方法。
2.public boolean isInterrupted():测试线程是否已经中断,即线程的中断标识,调用此方法能够获取线程的中断状态,但是不会改变线程的中断状态。
3.public static boolean interrupted():测试当前线程是否被中断,并且清除线程的中断状态(将中断状态设置为false)。
场景举栗:傍晚你在外面玩耍,每次你妈喊你回家吃饭时都会把门前路灯打开
某天,你妈打开路灯喊:狗蛋!回家吃饭啦!(此处调用interrupt()),注意,这里是你妈已经打开路灯(线程中断标识设置为true)告诉你需要回家吃饭,但她并没有强制你回家吃饭,也就是告诉你回家吃饭,但是你爱吃不吃。
情况一,你看到路灯状态(调用isInterrupted()),知道要回家吃饭了,但是你并没有去关闭路灯的动作,也就是说你即使回家吃饭了,路灯依然是开着的(中断标识依然为true)。
情况二,你看到路灯状态(调用interrupted()),知道要回家吃饭了,并且立马跑过去关闭路灯(将中断标识依然为false)。