我想在java的后台运行一段代码,但不想使用Thread概念。请参考一些更好的方法。 条件是我不希望此代码损坏我正在运行的代码。
答案 0 :(得分:3)
如果你真的不想使用Threads,你可以使用Runtime#exec
生成一个新进程 - 使用正确的类路径执行一个新的Java进程,为你执行一个程序。但这真的很重要。
如果您可以创建线程(如果使用正确,它们的占用空间很小),但是不想直接使用Thread
类,您可以使用Executor
,例如:
Executor executor = Executors.newFixedThreadPool(POOL_SIZE);
executor.execute(myBackgroundTask);
如果您想要并行化的大问题,也可以使用Fork Join Framework。
直接使用Thread
类实际上是一个好主意 - 使用Executor
或Fork / Join。但是:如果你想在后台运行一些东西,你最终会使用一个线程或一个新进程(在引擎盖下)。