在tomcat中使用ThreadPool Excutor服务来加速请求
我有一个 tomcat6 servlet 应用程序。我的一个请求(平均约 10 秒)可以通过使用多线程得到显着改善,因为它是一项仅包含 CPU 的任务,而且我有 >= 8 …
如何确保提交到 ThreadPoolExecutor 然后取消的 FutureTask 的垃圾回收?
我正在向 ThreadPoolExecutor 提交 Callable 对象,它们似乎保留在内存中。 使用 Eclipse 的 MAT 工具查看堆转储,可以看到 Callable 对象被 FutureTa…
当 Callable 返回特定结果时停止 Executor
我想阻止执行器运行更多的 Future 对象,即使它们已提交给执行器。 通过 Executor 运行多个线程都可以正常工作,但是当 Callable 之一返回布尔值 TRUE…
有没有一种简单的方法来判断 Java 执行器在给定时刻正在运行哪些任务?
我确信我可以将一些东西组合在一起,这将使我能够解决这个问题,但我希望有一个我所缺少的开箱即用的解决方案。我阅读了文档,但没有看到任何内容。 …
ThreadPool不按顺序运行任务
我正在使用 Executor 框架,特别是 Executors.newCachedThreadPool(); 我有一个 Runnable 列表,例如 100 个。 前 50 个,每个创建一个值(存储在列表…
当我在四核计算机上使用多个线程时,为什么此代码没有看到任何显着的性能提升?
我编写了一些 Java 代码来了解有关 Executor 框架的更多信息。 具体来说,我编写了代码来验证 Collatz 假设 - 这表示如果您迭代地应用以下函数对…
“单个 LIFO 执行器” / 摇摆工人
考虑一个带有 JList 或 JTable 的 Swing 应用程序,当选择更改时,SwingWorker 会启动并从数据库加载相关数据并更新 UI。这工作正常并且用户界面响应…
使用 Java Executor 实现多线程
我被以下问题困扰。 假设我有一个包含 1000 个项目的请求,我想利用 Java Executor 来解决这个问题。 这是主要方法 public static void main(String[]…
我应该如何使用 Executor 代替 AsyncTask 或 IntentService 在 Android 上排队任务?
这是一个好的解决方案吗? 如何实施? 什么时候应该正确关机?我在 Activity 中的 onDestroy() 上关闭它,然后尽快重新启动我的应用程序。它会导致ja…
Java - Executors 有什么了不起的?
在没有 Java Executors 的生活中,必须为每个 Runnable 任务创建新线程。创建新线程需要线程开销(创建和拆卸),这会增加非执行程序程序的复杂性并浪…
ThreadPoolExecutor 策略
我正在尝试使用 ThreadPoolExecutor 来安排任务,但遇到了其策略的一些问题。以下是其声明的行为: 如果运行的线程少于 corePoolSize,则执行器始终倾…
这是否需要显式同步?
我有两个线程,我想确保我在 LinkedBlockingQueue 上正确执行同步。这是正确的吗?或者 (messageToCommsQueue) 上的显式同步不需要吗? 声明: privat…
对于应该永远运行的任务的 Java 执行器最佳实践
我正在开发一个 Java 项目,其中需要异步运行多个任务。我相信 Executor 是我做到这一点的最佳方式,所以我正在熟悉它。 (是的,学习是有报酬的!)…
如何让ThreadPoolExecutor的submit()方法在饱和时阻塞?
我想创建一个 ThreadPoolExecutor,这样当它达到最大大小并且队列已满时,尝试时 submit() 方法会阻塞添加新任务。我是否需要为此实现自定义 Rejected…