1、使用共享变量的方式
线程通过检测变量开关来判断是否结束
2.当线程发生阻塞:例如等待键盘输入或者执行网络任务中的io阻塞,调用wait方法,join方法,sleep方法时,由于不能检查开关变量,使线程处于处于不可运行状态时。不能使线程退出。
Thread提供的interrupt()方法,虽然不可以中断线程,但可以使正在阻塞的线程抛出异常,从而退出阻塞代码,这样间接的退出了线程。
利用interrupt原理的封装类:FutureTask中的cancel方法
1、使用共享变量的方式
线程通过检测变量开关来判断是否结束
2.当线程发生阻塞:例如等待键盘输入或者执行网络任务中的io阻塞,调用wait方法,join方法,sleep方法时,由于不能检查开关变量,使线程处于处于不可运行状态时。不能使线程退出。
Thread提供的interrupt()方法,虽然不可以中断线程,但可以使正在阻塞的线程抛出异常,从而退出阻塞代码,这样间接的退出了线程。
利用interrupt原理的封装类:FutureTask中的cancel方法