在Java中指定的时间限制后,有没有办法杀死子线程?编辑:此特定线程也可能在最坏的情况下被阻止(线程用于等待文件修改并在发生此事件之前被阻止),所以我不确定中断()是否会成功?
利用ExecutorService来执行Callable,签出你可以指定超时的方法。例如
ExecutorService
Callable
ExecutorService executor = Executors.newSingleThreadExecutor(); executor.invokeAll(Arrays.asList(new Task()), 10, TimeUnit.MINUTES); // Timeout of 10 minutes. executor.shutdown();
Task当然在这里实施Callable。
Task