深入分析JAVA 多线程--interrupt()和线程终止方式
interrupt() 定义在 Thread 类中,作用是本线程中断自己是被允许的;其它线程调用本线程的 interrupt() 方法时,会通过 checkAccess() 检查权限。这有可能抛出 SecurityException 异常。Thread中的 stop() 和 suspend() 方法,由于固有的不安全性,已经建议不再使用!通常,我们在while中不断的执行业务代码,当线程处于阻塞状态时,调用线程的 interrupt() 产生 InterruptedException 中断。上面的 InterruptedException 异常的捕获在 whle 之内。当产生 InterruptedException 异常时,被 catch 处理之外,仍然在 while 循环体内;要退出 while 循环体,需要额外的执行退出while 的操作。此时,就会退出while循环。综合线程处于“阻塞状态”和“运行状态”的终止方式,比较通用的终止线程的形式如下:三、示例运行结果
下载地址
用户评论