我正在创建一个ExecutorService
with
ExecutorService executor = Executors.newFixedThreadPool(5);
我Runnables
加上
executor.execute(runnable)
我有一个java.sql.Connection
在可运行实现内部某处创建并在finally
语句中关闭的实例。
在我打电话之前,这非常有效executor.shutdownNow()
。当我这样做时,连接将其值设为 null,即使用我看到的检查器connection = null
。如果我用该方法停止执行程序,shutdown()
一切都会完美运行。
我一直在搜索和阅读(甚至是 java 的源代码),但无法理解可能导致这种情况的原因。
我试图抓住一个,InterrupedException
但显然没有被抛出