¿Por qué la interfaz ExecutorService no implementa AutoCloseable?

No llamarshutdown() en un ejecutor de hilos dará como resultado una aplicación que nunca termina. La mejor práctica para cerrar el ExecutorService es esta:

ExecutorService service = null;
try {
  service = Executors.newSingleThreadExecutor();
  // Add tasks to thread executor
  …
} finally {
  if(service != null) service.shutdown();
}

Como Java conoce el concepto de probar con recursos, ¿no sería bueno si pudiéramos hacer esto?

try (service = Executors.newSingleThreadExecutor())
{
  // Add tasks to thread executor
  …
} 

Respuestas a la pregunta(4)

Su respuesta a la pregunta