线程的基本操作-线程中断
public void Thread.interrupt() // 中断线程
public boolean Thread.isInterrupted() // 判断是否被中断
public static boolean Thread.interrupted() // 判断是否被中断,并清除当前中断状态
以下是测试代码
/**
*
* @ClassName: Test
* @Description:线程中断
* @author: He LongYun
* @date: 2019年1月31日 上午10:58:57
*/
public class Test {
public static void main(String[] args) {
TestThread testThread = new TestThread();
Thread t1 = new Thread(testThread);
// 启动线程
t1.start();
}
}
class TestThread implements Runnable {
@Override
public void run() {
while (true) {
if (Thread.currentThread().isInterrupted()) {
System.out.println("Interruted!");
break;
}
try {
// 业务代码
Thread.sleep(1000);
} catch (InterruptedException e) {
System.out.println("Interruted When Sleep");
// 抛出异常后会清除中断标记位
// 所以需要设置中断,Thread.currentThread().isInterrupted()才能检测到,
Thread.currentThread().interrupt();
}
Thread.yield();
}
}
}