首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java并发安全工作池队列

Java并发安全工作池队列
EN

Stack Overflow用户
提问于 2017-03-14 11:39:38
回答 1查看 988关注 0票数 0

我正在编写Spring (Java 8) web应用程序,对于每个请求(单独的线程),我的应用程序都会执行一些任务,这些任务应该尽快完成,以便在浏览器中将结果返回给客户端,因此我希望找到工作池库,它可以从不同的线程安全地访问。

我读过有关执行池兔子MQ的文章,但是我找不到关于从不同线程访问任务队列的特性的信息。

如果有人能给我建议如何用Java来做这件事,我将非常感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-15 06:54:17

在这里,您可以通过@Async注释使用Spring支持的异步方法调用。

@Async注释的方法将在新线程中执行,结果将在Future对象中可用(也支持void返回)。请注意,方法调用是非阻塞的,这将有助于快速返回响应,而无需等待每个任务完成。但是,如果需要,可以使主线程等待所有任务,即Future通过阻塞的Future.get()完成。

要配置异步支持,请用@EnableAsync注释配置类,并提供下面描述的这里方法定义。

代码语言:javascript
复制
public Executor getAsyncExecutor() {
    ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
    executor.setCorePoolSize(2);
    executor.setMaxPoolSize(2);
    executor.setQueueCapacity(500);
    executor.initialize();
    return executor;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42784988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档