我应该选择哪一个?我可以用注释 java 函数,@Async
也可以在 a 中调用函数new Thread
,例如像这样的 Java 8
new Thread(() -> {
myfunction("Test");
}).start();
这两种方式有区别吗?提前致谢。
我应该选择哪一个?我可以用注释 java 函数,@Async
也可以在 a 中调用函数new Thread
,例如像这样的 Java 8
new Thread(() -> {
myfunction("Test");
}).start();
这两种方式有区别吗?提前致谢。
根据文档,https ://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/annotation/EnableAsync.html :
默认情况下,Spring 将搜索关联的线程池定义:要么是上下文中唯一的 TaskExecutor bean,要么是名为“taskExecutor”的 Executor bean。如果两者都无法解析,则将使用 SimpleAsyncTaskExecutor 来处理异步方法调用。
您的示例和@Async
相似之处在于它们可以在单独的线程中执行
不同之处在于,使用 @Async 注释 bean 的方法将使其在从线程池提供的单独线程中执行,而不是像您的情况那样直接在线程中执行。