在Java背景中运行一段代码的任何好方法

时间:2016-01-12 04:45:34

标签: java background-process

我想在java的后台运行一段代码,但不想使用Thread概念。请参考一些更好的方法。 条件是我不希望此代码损坏我正在运行的代码。

1 个答案:

答案 0 :(得分:3)

如果你真的不想使用Threads,你可以使用Runtime#exec生成一个新进程 - 使用正确的类路径执行一个新的Java进程,为你执行一个程序。但这真的很重要。

如果您可以创建线程(如果使用正确,它们的占用空间很小),但是不想直接使用Thread类,您可以使用Executor,例如:

Executor executor = Executors.newFixedThreadPool(POOL_SIZE);
executor.execute(myBackgroundTask);

如果您想要并行化的大问题,也可以使用Fork Join Framework

直接使用Thread类实际上是一个好主意 - 使用Executor或Fork / Join。但是:如果你想在后台运行一些东西,你最终会使用一个线程或一个新进程(在引擎盖下)。