A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 肖亚光 中级黑马   /  2013-9-16 15:32  /  1052 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. Session session = conn.openSession();
  2.                                 long startTime = System.currentTimeMillis();
  3.                                 ThreadBreaker tb = new ThreadBreaker(Thread.currentThread(), 20);//执行时间设置,超过20s,自杀
  4.                                 tb.start();
  5.                                 try {
  6.                                         session.execCommand(writeCommend + node + "/tttttttttt");// 写随机文件
  7.                                 } catch (IOException e) {
  8.                                         e.printStackTrace();
  9.                                 }
  10.                                 tb.cancel();

  11. ThreadBreaker  这是一个线程守护的类。
  12. tb.cancel(); 执行线程结束操作。
  13. 调用Thread.interrupt()方法。但是该方法只是结束了本进程,对于底层的IO流还是没有结束。
  14. 所以tb.cancel();即使运行, 还是不能执行下面的代码,会卡在当前代码段
  15. 有什么方法,可以强制结束掉当前代码段的所有操作,执行下面代码呢?
复制代码

评分

参与人数 1技术分 +1 收起 理由
特殊服务 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马