spring - Java 8 如何在返回方法之前启动线程
问题描述
我有一个用 Java Spring 编写的服务。该服务将计算结果返回给用户。但是,我还想用这个结果做一些额外的任务(副任务),它不应该影响性能。所以我的问题是如何在不阻止将结果返回给用户的情况下启动另一个线程来执行附加任务。
解决方案
使用Runnable
. 然后像这样将它提交给执行器服务,
String response = invokeEp();
Runnable task = () -> doSomeWork(response);
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.submit(task);
return response;
推荐阅读
- delphi - 如何获取 TPersistentClass 来自的动态包?
- c++ - 反转字符串?更优化的方式
- xml - 行错误:76 col:82 Line:76 ';' 预期,得到 char[61]
- push - ejabberd mod_push 和 mod_push_keepalive 不启动
- sql - 如何使用 sql server 根据上一行和下一行显示记录
- reactjs - React componentDid mount 获取异步图像。如果在更改页面之前没有完成,如何取消请求?
- codenameone - CN1:带 Alpha 通道的渐变
- assembly - 在运行时中断汇编指令
- bash - 如何在 YAML 文件中对 bash 脚本进行 lint
- javascript - 比较两个具有 css-properties 的数组