gpt4 book ai didi

java - 使用@Async调用方法与在新线程中调用方法

转载 作者:行者123 更新时间:2023-12-02 10:50:46 27 4
gpt4 key购买 nike

我应该选择哪一个?我可以使用 @Async 注释 java 函数,或者我可以在 new Thread 中调用该函数,例如Java 8 像这样

new Thread(() -> {
myfunction("Test");
}).start();

这两种方式有区别吗?提前致谢。

最佳答案

根据文档,https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/annotation/EnableAsync.html :

By default, Spring will be searching for an associated thread pool definition: either a unique TaskExecutor bean in the context, or an Executor bean named “taskExecutor” otherwise. If neither of the two is resolvable, a SimpleAsyncTaskExecutor will be used to process async method invocations.

相似度:

您的示例和@Async很相似,因为它们可以在单独的线程中执行

区别:

区别在于,使用@Async注释bean的方法将使其在单独的线程中执行,该线程是从线程池给出的,而不是直接在线程中执行。线程就像你的情况一样。

关于java - 使用@Async调用方法与在新线程中调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52199014/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com