java - ExecutorService terminated, but the JVM did not -
i submit tasks executors.newfixedthreadpool(3)
, run , complete successfully. call
executorservice.shutdown(); executorservice.awaittermination(2000, timeunit.milliseconds);
check via
executorservice.isshutdown() executorservice.isterminated()
and twice true back. main thread exits, jvm stays alive. there's no awt thread or alike, can see 3 pool threads, destroyjavavm
, , com.google.inject.internal.util.$finalizer
.
the finalizer prime suspect, if wasn't deamon thread. suspended 2 threads image
actually, i'd expect pool threads long gone, because of isterminated == true
. idea waiting for?
it seems debug image service not alone it's named pool-2
. might have executorservice
still running pool-1
prevents jvm exit.
Comments
Post a Comment