future 取消任务测试
ExecutorService es = Executors.newCachedThreadPool();
Future<?> ?future = es.submit(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try{
Thread.sleep(300000l);
System.out.println("begin");
for(int i=0;i<100000;i++){
if(Thread.currentThread().isInterrupted()){
System.err.println("Interrupted");
break;
}
System.out.println(i);
}
System.out.println("finish");
}catch (InterruptedException e) {
e.printStackTrace();
}catch (Exception e) {
e.printStackTrace();
}
}
});
Thread.sleep(1*1000l);
future.cancel(true);
System.out.println("interupt is send");