您希望使用单线程执行器。使用第三方库并不妨碍您在existig库中使用另一个自定义执行器:
Executor executor = Executors.newSingleThreadExecutor();
executor.execute(() -> System.out.println("A"));
executor.execute(() -> System.out.println("B"));
executor.execute(() -> System.out.println("C"));
由于这个执行器只有一个线程,队列中的下一个线程在前一个线程完成之前不会启动。
创建一个执行器,该执行器使用单个工作线程对无界队列进行操作。
A->B->C
我想使用ExecutorService来运行一系列相同的可运行/可调用任务。我到处找了一个教程或示例,但没有涉及到实际设置现有Runnable/Callable对象的值,然后使用submit()将该对象发送回ExecutorService。 基本上,我想做的是: 获取服务器列表。 遍历服务器列表,调用获取每个主机上的数据。 将数据收集到服务器bean中以存储在数据库中。 所以,现在,有10,000
问题内容: 关门了 。这个问题是基于观点的。它当前不接受答案。 想要改善这个问题吗? 更新问题,以便通过编辑此帖子以事实和引用的形式回答。 11个月前关闭。 改善这个问题 为什么SQL要求我指定要对哪些属性进行分组?为什么不能只使用所有非聚合? 如果一个属性没有聚合并且不在 GROUP BY 子句中,那么不确定元组的选择将是唯一的选择,前提是元组是无序的(mysql做到了这一点),这是一个巨大的难
问题内容: 在我的webapp中,我创建了一个使用固定大小的ThreadPool的服务。我在整个应用程序生命周期中都重复使用了相同的代码。 所有人都在Tomcat中运行,这在关闭时给我以下错误: 我确实意识到我需要在关闭tomcat之前先关闭ExecutorService。Soms SO线程已经在谈论这一点,但是我找不到一种干净的方法来解决这个问题。 是否应该在正常关闭线程和执行器的情况下使用建议
由于我不关心响应,也不关心这些任务产生的任何异常,所以我选择使用ExecutorService而不是Callable或CompletableFuture。 然后,对于我在controller中接收到的传入请求,运行两个for循环,并将这些任务分配给ExecutorService: 我的问题是关于关闭ExecutorService。我知道优雅关机(shutdown)、混合关机(awaitTermin
我对ExecutorService的javadoc#shutdown方法感到困惑。这些说法不矛盾吗? 启动有序关闭,其中执行以前提交的任务,但不接受新任务。此方法不会等待以前提交的任务完成执行。使用waitTersion执行此操作。 如果它能有序地关闭之前提交的任务,那么它怎么能等它们完成执行呢?