中断线程的执行
--(《Java Concurrency in Practice》读书笔记)
?
Future.cancel只能中断对interrupt请求有响应的操作,如果阻塞的操作对interrupt请求无响应怎么办?那么可以通过重写ThreadPoolExecutor.newTaskFor(JDK1.6)来返回自定义的Future.cancel来实现。
当然, Thread.interrupt机制要实现类似Thread.suspend、Thread.resume提供的暂停和继续的语义可能比较麻烦,不过,JDK中提供了其它的一些方便的机制来完成这个目的,比如wait-and-notify(Object.wait和Object.notify)或者信号量等。