问题标签 [executor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2992 浏览

java - 使用 Java 通过 http 批量下载图像的好方法

我们有一个 Web 应用程序需要通过 http 从合作伙伴站点导入 10-20 张图像。如果我有一个代表我要下载的网址的字符串列表,是否有人建议如何尽快下载它们?

我可以将它们放在一个 for 循环中,但如果有一种简单的方法可以并行化它,它可能对最终用户有好处。我想避免使用直接的 Java 线程,尽管执行器框架可能是个好主意。

有任何想法吗?

0 投票
4 回答
590 浏览

java - 为什么我收到一个错误说没有抛出任何异常?

我在一个实现 Callable 的类中有这个:

在执行此 Callable 的其他类中,如下所示:

但是我收到了一个错误和一条 IDE 的消息,即永远不会抛出 SQLException。这是因为我在 ExecutorService 中执行?

更新:所以提交不会引发 SQLException。如何执行 Callable(作为线程运行)并捕获异常?

解决了:

0 投票
2 回答
9523 浏览

java - RejectedExecutionException 即使 ExecutorService 由 isShutdown() 保护

我有一个问题让我发疯了一段时间,我需要咨询你的集体智慧。

我有一个池为 1 的 ThreadPoolExecutor,从 Executors.newFixedThreadPool 调用。我用 !isShutdown() 保护所有 executor.execute(),因为 executor.shutdown() 是从另一个线程调用的,因此应该可以说 executor 不会抛出 RejectedExecutionException。不过,这是我随机看到的。

有谁知道为什么我会看到这种行为?

0 投票
2 回答
7502 浏览

java - 暂停 ScheduledExecutorService

我正在使用 aScheduledExecutorService执行以固定速率调用服务的任务。服务可能会向任务返回一些数据。该任务将数据存储在队列中。其他一些线程慢慢地从队列中挑选项目

如何暂停 executorService 直到任务填充的队列被清除。

0 投票
2 回答
10733 浏览

java - ScheduledExecutorService 多线程并行

ScheduledExecutorService如果之前的任务尚未完成,我有兴趣使用为任务生成多个线程。例如,我需要每 0.5 秒处理一次文件。第一个任务开始处理文件,如果第一个线程未完成,则在 0.5 秒后生成第二个线程并开始处理第二个文件,依此类推。这可以通过以下方式完成:

现在我的问题是:为什么我不能这样做executor.scheduleAtFixedRate

我得到的是,如果第一个任务需要更长的时间,第二个任务会在第一次完成后立即启动,但即使 executor 有线程池,也不会启动新线程。executor.scheduleWithFixedDelay很清楚 - 它执行任务之间的时间跨度相同,完成任务需要多长时间并不重要。所以可能我误解了ScheduledExecutorService目的。

也许我应该看看另一种执行者?或者只是使用我在这里发布的代码?有什么想法吗?

0 投票
1 回答
1150 浏览

java - 尽管使用了 Executors,但无法启动更多线程

有人建议我使用Executors.newCachedThreadPool()which 将能够在过度生成线程时解决问题。

但是,当线程数增长超过某个点时,仍然会出现错误。无论如何允许线程在等待系统资源可用时等待自己?

0 投票
3 回答
3826 浏览

android - 多个 AsyncTask 的串行执行

有谁知道如何轻松地安排对队列中的 AsyncTask 执行的多个调用或其他东西,然后以串行方式执行它们?

我希望被调用的异步任务在完成之前等待,但似乎我无法完成这一点,即使我测试了当前正在执行的任务的状态。

任何想法如何解决这个问题?我已经看到在蜂窝 API 中有一个executeOnExecutor()带有 a的方法SERIAL_EXECUTOR,我想它实现了我所描述的。但是,我不是为蜂窝开发的。

谢谢!

0 投票
4 回答
1801 浏览

java - Java ThreadPoolExecutor 在一段时间后停止工作

我的 ThreadPoolExecutor 有问题。它可以正常工作几个小时,但有时(在随机时间,有时在 2 分钟或 3 小时后)它会停止执行提交的任务并且程序挂起。

队列已满,此时所有核心线程都处于活动状态。

我根本不知道这是从哪里来的。特别是因为它有时会工作 3 个小时,而所有核心线程一直在工作。

如果有人对我有建议,我会很高兴。

0 投票
1 回答
896 浏览

grails - Grails:从后台线程访问 GORM

我已经为这个错误苦苦挣扎了一个星期,我为此严重失去了理智!我已经尝试过多种实现、变通方法和黑客攻击等等,但我只是不断陷入另一个例外。

我正在使用 Executor 插件异步运行方法:

该方法最初会删除一些对象:

然后可能会重新创建这些对象:

但这失败了,但有以下例外:

Page和之间的关系Domain只是通过Page拥有一个Domain属性来实现。没有hasManyog belongsTo- 由于性能问题,我在之前的帖子中对此感到气馁。

我想我已经尝试了所有可以想到的组合save,mergewithTransachtion...PersistenceContextInterceptor

这应该如何工作?请举例。

提前致谢!

0 投票
4 回答
295 浏览

java - 尽管出现了 InterruptedException,程序仍继续运行

我开始学习 java,现在我在并发章节。在阅读了一些关于并发的东西之后,我尝试了一个我自己的例子。

问题是我希望看到以下输出:

但是在我得到这个之后,程序会继续打印,直到我关闭它。
所以,我的问题是我做错了什么?为什么程序继续打印?