Spring @Async 限制线程数

2024-04-16

我的问题与这个非常相似:@Async 阻止一个线程继续执行,直到其他线程完成 https://stackoverflow.com/questions/4324212/async-prevent-a-thread-to-continue-until-other-thread-have-finished

基本上我需要在更多线程中运行〜数百次计算。我只想运行一定数量的并行线程,例如5 个线程并行 5 个计算。

我正在使用 spring 框架,@Async 选项是自然的选择。我不需要全功能的 JMS 队列,这对我来说有点开销。

有任何想法吗 ? 谢谢


如果您使用 Spring 的 Java 配置,您的配置类需要实现AsyncConfigurer:

@Configuration
@EnableAsync
public class AppConfig implements AsyncConfigurer {

    [...]

    @Override
    public Executor getAsyncExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(2);
        executor.setMaxPoolSize(5);
        executor.setQueueCapacity(50);
        executor.setThreadNamePrefix("MyExecutor-");
        executor.initialize();
        return executor;
    }
}

See @EnableAsync有关更多详细信息的文档:http://docs.spring.io/spring/docs/3.1.x/javadoc-api/org/springframework/scheduling/annotation/EnableAsync.html http://docs.spring.io/spring/docs/3.1.x/javadoc-api/org/springframework/scheduling/annotation/EnableAsync.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring @Async 限制线程数 的相关文章

随机推荐

  • 在 log4j.properties 文件 SMTP Appender 中隐藏或加密密码

    我正在使用自定义 gmail smtp 附加程序从我的 gmail 帐户发送错误日志 按照说明操作 http www tgerm com 2010 05 log4j smtpappender gmail custom html http w
  • 将 gprof 与套接字一起使用

    我有一个程序想用 gprof 进行分析 问题 看起来 是它使用套接字 所以我得到这样的事情 select Interrupted system call 我不久前遇到了这个问题 放弃了 然后继续前进 但我真的希望能够分析我的代码 如果可能的
  • 获取小数点

    如何获得一个数字的小数点 例如 如果我有 1 5 如何获得 5 号 int result static cast
  • 如何使用更改侦听器 JavaFX 在两个 ListView 之间移动项目

    我有两个ListViews allStudentsList其中已经填充了项目 currentStudentList没有 我的目标是当用户选择一个项目时allStudentList是为了将该项目移入currentStudentList 我通过
  • ANTLR 实现类似Python的缩进相关语法的最简单方法是什么?

    我正在尝试实现类似Python的缩进相关语法 来源示例 ABC QWE CDE EFG EFG CDE ABC QWE ZXC 正如我所看到的 我需要的是实现两个标记 INDENT 和 DEDENT 所以我可以编写如下内容 grammar
  • 如何在 GNU Prolog 中使用“long int”?

    所以基本上看来 GNU Prolog 在我的 32 位 x86 Linux 上使用 28 位整数 下面的代码无法编译 foo A A0 is 0xdeadbeef A1 is A0 gt gt 8 A2 is A0 gt gt 16 A3
  • 在界面中强制执行“等于”

    我有一个接口 我希望实现该接口的每个人都实现一个重写的 等于 方法 有没有办法确保这种情况发生 我猜想发生这种情况的方式是 实现我的接口的类将自动从 Object 获取 equals 从而使接口满意 不 你只能创建一个抽象类 而不是像这样的
  • 使用服务器端脚本 (PHP) 创建 SVG 图形

    有没有办法使用 PHP 脚本生成 HTML 文件 该脚本嵌入了 SVG 其中 SVG 本身是由 PHP 脚本动态生成的 基本上 我想向客户端显示动态生成的 SVG 图像 但是 也仅引用外部源 而 PHP 仅生成当前 HTML 页面 而不是外
  • Rails:语法错误,意外的keyword_ensure,期望$end

    我正在创建一个非常基本的 Rails 应用程序 学习教程 但无法理解为什么会出现此错误 我已尝试排除故障但无济于事 My code ul class nav pull right li li li li li li ul
  • 如何将操作栏与 Xamarin 和 MvvmCross 一起使用

    我看到 Xamarin 最近作为组件发布http components xamarin com view xamandroidsupportv7appcompat http components xamarin com view xaman
  • 如何更新 C# 和 SQL Server 中的值? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这是我的程序 应该更新包含 3 列的表中的分数 id nickname scor Otherform id1 is the id需要更新的
  • Docker for ARM64 (Raspberry Pi 4) 上的 Android SDK 用于构建 APK

    我正在尝试创建一个ARM64 Docker 镜像它能够构建我的 React Native 应用程序的 apk 文件 背景 为了练习目的 我使用 5 个 Raspberry Pi 4 板构建了一个 Kubernetes 集群 一切工作正常 J
  • 按数组类型查询 - MongoDB

    我必须按类型查询我的 mongoDB 集合 假设我有这两个文件hello收藏 id ObjectId 56684ee0f597654b99d0d636 name Scrooge surname McDuck address road Mon
  • 如何在 Python 中发送包含一些非 ASCII 字符的电子邮件?

    我正在使用 Python 3 7 并尝试使用 smtplib 发送电子邮件 只要消息不包含任何土耳其字符 例如 我的脚本就可以完美运行 到目前为止我发现的唯一可行的解 决方案是使用 string string encode ascii ig
  • 设置 UIPopOverController 大小

    我有一个view里面有一堆按钮UIScrollView 当用户按下按钮时 我希望显示一个 UIPopOverController 指向所选按钮 它有点工作 但是弹出窗口的大小错误并且指向视图中的随机点 这是我的代码 void detail
  • 如何将 Maven 存储库 jar 添加到 Eclipse 构建路径?

    从 Eclipse 中 我可以在 Maven 存储库视图中看到所有必需的 jar 但我有大约 100 个缺少 jar 文件的错误 所以我设置了 M2 REPO 环境变量 我已经从命令行运行了 mvn eclipse eclipse 命令 当
  • WINAPI 带有自定义边框的编辑控件

    在纯 WinAPI 无 MFC 中实现编辑控件的自定义圆形边框的正确方法是什么 我需要像这样的边框编辑 我应该子类化编辑控件并在 WM NCPAINT 或类似的东西中进行自定义绘画吗 我想你有两个选择 正如你所说 你可以子类化并覆盖WM N
  • 从 Django 调用 Scrapy Spider

    我有一个项目 在同一工作区中包含 django 和 scrapy 文件夹 my project django project django project settings py app1 app2 manage py scrapy pro
  • 循环日期范围

    在Python3中 我可以像这样循环遍历一系列日期 import datetime dt0 datetime datetime 2017 1 1 0 0 0 dt1 datetime datetime 2017 1 5 0 0 0 dt d
  • Spring @Async 限制线程数

    我的问题与这个非常相似 Async 阻止一个线程继续执行 直到其他线程完成 https stackoverflow com questions 4324212 async prevent a thread to continue until