> 汽车交通
javaio阻塞线程状态(java线程阻塞的解决方法)
导语:java并发编程-I/O线程阻塞如何终止任务?
之前我们介绍了I/O阻塞,对其进行中断不能捕获异常。今天介绍一种关闭底层资源的方式或者使用NIO的方式,本文参考think in java。
关闭资源我们看关闭资源后,线程可以被打断的例子,代码如下:
输出结果:
程序分析:
1、exec.shutdownNow()会等着资源的关闭,close()掉资源后,进行打断,输出异常后的处理语句"interrupted from blocked I/O"
通过NIO终止任务NIO,也就是new I/O,我们通过下面的例子看看NIO 中断任务的,代码如下:
输出结果:
程序分析:
1、关于NIO,我们后面会介绍,今天不展开
2、我们可以通过关闭底层channel,释放阻塞后进行打断,捕获异常输出
3、JDK 里面管道输入输出 PipedWrite 和PipedReader 也可以被打断
本文内容由小快整理编辑!