Executors.newSingleThreadExecutor().execute(command) 和 new Thread(command).start();

2022-09-01 01:51:59

好标题说出来,和Executors.newSingleThreadExecutor().execute(command)new Thread(command).start();


答案 1

从行为上讲,几乎什么都没有。

但是,一旦您有了一个实例,您就可以向它提交多个任务,并让它们一个接一个地执行。你不能简单地用一个原始的.ExecutorThread


答案 2

一个明显的区别是,当你在运行完成后运行时,线程将悄然死亡。new Thread(someRunnable).start();

但是,执行程序将一直存在,直到您将其关闭为止。因此,当您认为您的应用程序或JVM可能已完成时,执行器可能仍在后台线程中运行。Executors.newSingleThreadExecutor().execute(command)