- Session session = conn.openSession();
- long startTime = System.currentTimeMillis();
- ThreadBreaker tb = new ThreadBreaker(Thread.currentThread(), 20);//执行时间设置,超过20s,自杀
- tb.start();
- try {
- session.execCommand(writeCommend + node + "/tttttttttt");// 写随机文件
- } catch (IOException e) {
- e.printStackTrace();
- }
- tb.cancel();
- ThreadBreaker 这是一个线程守护的类。
- tb.cancel(); 执行线程结束操作。
- 调用Thread.interrupt()方法。但是该方法只是结束了本进程,对于底层的IO流还是没有结束。
- 所以tb.cancel();即使运行, 还是不能执行下面的代码,会卡在当前代码段
- 有什么方法,可以强制结束掉当前代码段的所有操作,执行下面代码呢?
复制代码 |