java异步常见代码示例
时间: 2023-11-21 18:54:18 浏览: 97
Java中异步编程的常见代码示例包括使用Future类和使用@Async注解。
使用Future类:
Future类位于java.util.concurrent包下,可以通过它来实现异步编程。Future接口定义了一些方法,如cancel、isCancelled、isDone、get等,可以用来控制异步任务的执行和获取异步任务的结果。下面是一个使用Future类的示例代码:
```
ExecutorService executor = Executors.newCachedThreadPool();
Future<String> future = executor.submit(new Callable<String>() {
public String call() throws Exception {
// 异步任务的具体实现
return "异步任务执行结果";
}
});
// 获取异步任务的执行结果
String result = future.get();
```
使用@Async注解:
Spring框架提供了@Async注解,可以用来实现异步编程。在异步处理的方法上添加@Async注解,当对该方法调用时,Spring会自动将该方法放入线程池中异步化执行。下面是一个使用@Async注解的示例代码:
```
@Service
public class AsyncServiceImpl implements AsyncService {
@Async("defaultThreadPoolExecutor")
public Boolean execute(Integer num) {
System.out.println("线程:" + Thread.currentThread().getName() + " , 任务:" + num);
return true;
}
}
```
阅读全文