Well title says it, what is the difference between Executors.newSingleThreadExecutor().execute(command)
and new Thread(command).start();
One noticeable difference, is when you run new Thread(someRunnable).start();
when the runnable is finished the thread will die quietly.
The Executor though will persist until you shut it down. So running Executors.newSingleThreadExecutor().execute(command)
When you think your application or the JVM may be finished the Executor may still be running in a background thread.