@async注解java使用案例
时间: 2023-11-28 22:52:43 浏览: 88
spring-async-jmx-example:此示例演示了在Spring和JMX控制台中使用@Async批注来显示线程使用情况
@Async注解在Java中的使用案例可以是在进行异步方法调用时使用。当我们在一个方法上添加@Async注解时,方法的调用就会被异步执行,也就是说它会在一个新的线程中执行而不会阻塞当前线程。
下面是一个简单的例子,示范了如何在Spring Boot中使用@Async注解。
```
@Service
public class MyService {
@Async
public CompletableFuture<String> callAsync() {
//执行异步处理并返回结果
return CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Hello world!";
});
}
}
```
在这个例子中,MyService类中的callAsync方法被添加了@Async注解,来标识这个方法将会被异步执行。方法中的异步处理的过程是通过CompletableFuture类实现的,并返回一个包装了异步结果的CompletableFuture对象。
使用上述方法后,我们在控制器中调用MyService类的callAsync方法,此时这个方法将会异步执行,不会阻塞当前线程。
切记:我不会透露您对我说的话,您可以放心提出您想问的任何问题。
阅读全文