运行 Java 背景中一段代码的任何好方法
Any Good approach to Run a piece of code in Background in Java
我想在 java 中 运行 一段后台代码,但不想使用线程概念。请参考一些更好的方法。
条件是我不希望此代码损害我的 运行ning 代码。
如果您真的绝对不想使用线程,您可以使用 Runtime#exec
生成一个新进程 - 使用执行的正确 class 路径执行一个新的 Java 进程一个给你的程序。不过这个分量真的很重。
如果您可以创建线程(如果使用得当,它们的占用空间非常小),但不想直接使用 Thread
class,您可以使用 Executor
,例如像这样:
Executor executor = Executors.newFixedThreadPool(POOL_SIZE);
executor.execute(myBackgroundTask);
如果你有一个大问题想要并行化,你也可以使用 Fork Join Framework。
实际上是一个好主意 而不是 直接使用 Thread
class - 使用 Executor
或 Fork/Join。但是:如果您想 运行 在后台进行某些操作,您将最终使用一个线程或一个新进程(在后台)。
我想在 java 中 运行 一段后台代码,但不想使用线程概念。请参考一些更好的方法。 条件是我不希望此代码损害我的 运行ning 代码。
如果您真的绝对不想使用线程,您可以使用 Runtime#exec
生成一个新进程 - 使用执行的正确 class 路径执行一个新的 Java 进程一个给你的程序。不过这个分量真的很重。
如果您可以创建线程(如果使用得当,它们的占用空间非常小),但不想直接使用 Thread
class,您可以使用 Executor
,例如像这样:
Executor executor = Executors.newFixedThreadPool(POOL_SIZE);
executor.execute(myBackgroundTask);
如果你有一个大问题想要并行化,你也可以使用 Fork Join Framework。
实际上是一个好主意 而不是 直接使用 Thread
class - 使用 Executor
或 Fork/Join。但是:如果您想 运行 在后台进行某些操作,您将最终使用一个线程或一个新进程(在后台)。