【发布时间】:2019-02-07 00:50:57
【问题描述】:
我正在批判性地使用:
CompletableFuture
.delayedExecutor(1, TimeUnit.MILLISECONDS).execute(() -> {});
从我在线阅读的内容来看,每次通话都使用一个新线程是很常见的。我想知道是否有办法重用线程而不是创建新线程?
更新:
我不清楚 - 我想使用 CompletableFuture,但我希望 CompletableFuture 重用某个线程,而不是管理它自己的线程。
我看到了这个问题: CompletableFuture reuse thread from pool
但它建议使用环境变量 - 我想知道是否有办法以编程方式执行此操作。
【问题讨论】:
-
你有多少个处理器?
-
你为什么不使用
ExecutorService来发送它? -
我可以使用 ExecutorService 来调度,但我不知道我可以这样做,你能添加一个答案来说明如何?
-
@shmosel 8 个处理器 .. 这段代码将在许多不同的机器上运行,而不仅仅是我家里的笔记本电脑或其他任何机器
-
那么它应该使用开箱即用的线程池。
标签: java multithreading executorservice threadpoolexecutor completable-future