Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Spring引导和执行器的异步操作_Java_Spring_Multithreading_Spring Boot_Java 8 - Fatal编程技术网

Java 使用Spring引导和执行器的异步操作

Java 使用Spring引导和执行器的异步操作,java,spring,multithreading,spring-boot,java-8,Java,Spring,Multithreading,Spring Boot,Java 8,我想了解我正在使用的Java和Springboot两种代码之间的区别。他们两个相等吗- a。如果不使用@Async并生成新线程/任务,则提交给taskexecutor B使用@Async和执行器名称的一个 a b 这两个直接来自Spring的链接可能为您的问题提供了充分的答案 JavaDoc 基本上,带有@Async的带注释方法被视为异步方法,应该返回Future或其规范或void。该方法在从指定执行器服务的线程池(@Async(“specificTaskExecutor”))获取的线程中

我想了解我正在使用的Java和Springboot两种代码之间的区别。他们两个相等吗-

a。如果不使用@Async并生成新线程/任务,则提交给taskexecutor B使用@Async和执行器名称的一个

a

b


这两个直接来自Spring的链接可能为您的问题提供了充分的答案

  • JavaDoc
基本上,带有
@Async
的带注释方法被视为异步方法,应该返回
Future
或其规范或
void
。该方法在从指定执行器服务的线程池(
@Async(“specificTaskExecutor”)
)获取的线程中运行,该线程通常作为bean提供:

@Bean(name = "specificTaskExecutor")
public TaskExecutor specificTaskExecutor() {
    ThreadPoolTaskExecutor specificTaskExecutor = new ThreadPoolTaskExecutor();
    specificTaskExecutor.initialize();
    return specificTaskExecutor;
}

这两个直接来自Spring的链接可能为您的问题提供了充分的答案

  • JavaDoc
基本上,带有
@Async
的带注释方法被视为异步方法,应该返回
Future
或其规范或
void
。该方法在从指定执行器服务的线程池(
@Async(“specificTaskExecutor”)
)获取的线程中运行,该线程通常作为bean提供:

@Bean(name = "specificTaskExecutor")
public TaskExecutor specificTaskExecutor() {
    ThreadPoolTaskExecutor specificTaskExecutor = new ThreadPoolTaskExecutor();
    specificTaskExecutor.initialize();
    return specificTaskExecutor;
}
@Bean(name = "specificTaskExecutor")
public TaskExecutor specificTaskExecutor() {
    ThreadPoolTaskExecutor specificTaskExecutor = new ThreadPoolTaskExecutor();
    specificTaskExecutor.initialize();
    return specificTaskExecutor;
}