首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

处置不可中断的阻塞-JCIP7.1读书笔记

2012-09-03 
处理不可中断的阻塞-JCIP7.1读书笔记[本文是我对Java Concurrency In Practice 7.1的归纳和总结. ?转载请

处理不可中断的阻塞-JCIP7.1读书笔记

[本文是我对Java Concurrency In Practice 7.1的归纳和总结. ?转载请注明作者和出处, ?如有谬误, 欢迎在评论中指正. ]

并不是所有的阻塞都是可中断的, 比如InputStream.read方法. 在检测到输入数据可用, 到达流末尾或者抛出异常前, 该方法一直阻塞. 而且阻塞的时候不会检查中断标记, 所以中断线程无法使read从阻塞状态返回. 但是关闭流可以使得read方法抛出异常, 从而从阻塞状态返回.?

public static void main(String[] args) {CancellingExecutor executor = new CancellingExecutor();SocketUsingTask task = new SocketUsingTask();task.setSocket(new Socket("www.baidu.com", 80));Future<V> future = executor.submit(task);future.cancel(true);}

热点排行