在Spring Boot中实现异步处理与并发控制
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.stereotype.Service;
import java.util.concurrent.Future;
@EnableAsync
@Service
public class AsyncService {
@Async
public Future<String> executeAsyncTask(int taskId) {
// 模拟长时间运行的任务
long startTime = System.currentTimeMillis();
while ((System.currentTimeMillis() - startTime) < 10000) {
// 模拟任务执行中...
}
return new AsyncResult<>("Task " + taskId + " completed.");
}
}
这段代码演示了如何在Spring Boot应用中使用@EnableAsync
和@Async
注解来实现方法的异步执行。executeAsyncTask
方法被标记为@Async
,这意味着它将在独立的线程中运行,不会阻塞调用线程。返回类型Future
用于表示异步操作的结果,这里使用AsyncResult
简单包装了任务完成的消息。
评论已关闭