我有一个间歇性失败的测试,其中future.get调用在callable中执行finally块之前返回,此时未来被取消。这里是基本的工作流程:future.get在最终在Callable上执行之前返回取消
future.cancel(true);
我看到Callable
抛出的InterrupedException
主线程从future.get
通话
现在Callable
电话finally
抓住CancellationException
。
测试总是在我的笔记本上成功,并且在构建服务器上大部分时间都失败。我的笔记本和生成服务器都运行OpenJDK 1.7。有任何想法吗?
可以发表相关的代码吗? – Nrj