开发者社区> 问答> 正文

该方法必须是线程安全的?

我不得不将请求从同步转换为异步。就像

@PostMapping
public ResponseEntity<?> <name> (<args>) {
<do something>
<do something very time consuming>
<return response>
}

因此,我不得不更快地返回响应,并且“做一些非常耗时的事情”阻止了该响应,并且我认为我只会在后台运行它。我将代码移到一个单独的类中,并使用CompletableFeatures来做到这一点。

现在,我不再像“做一些非常耗时的事情”这样的事情了:

@PostMapping
public ResponseEntity<?> <name> (<args>) {
<do something>

CompletableFuture.runAsync(() -> {
   new <NewClass>.<NewMethod>(<args>);
});

<return response>
}

新的NewClass.NewMethod(args); 包含耗时的代码。

似乎工作正常,但我想知道是否必须确保新代码需要是线程安全的?这里有什么意见吗?抱歉,您使用的是假名称,在此先感谢。

展开
收起
垚tutu 2019-12-19 16:16:18 520 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    棒棒哒。。。

    2019-12-28 14:29:13
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
多IO线程优化版 立即下载
多线程 立即下载
原子变量与内存模型 立即下载