首页 > 解决方案 > Java 8 如何在返回方法之前启动线程

问题描述

我有一个用 Java Spring 编写的服务。该服务将计算结果返回给用户。但是,我还想用这个结果做一些额外的任务(副任务),它不应该影响性能。所以我的问题是如何在不阻止将结果返回给用户的情况下启动另一个线程来执行附加任务。

标签: springmultithreadingjava-8

解决方案


使用Runnable. 然后像这样将它提交给执行器服务,

String response = invokeEp();
Runnable task = () -> doSomeWork(response);
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.submit(task);
return response;

推荐阅读