异步
介绍两个方法前,先简单介绍一下常见的异步处理方法。包括了:
- runnable+callable:两个都是简单的开启一个thread进行处理,不同的是,callable可以有返回值。callable的默认返回值由futrue封装,必要时可以通过调用future的get方法获取执行结果,该方法会阻塞直到任务返回结果。
- CompletableFuture的使用:主要就是可以实现多个并发线程的一定控制,比如:thenAsysc()之类的。或者输出的结果进行联合后输出返回之类的功能
- spring的@async注解,其实这个就是future的一个简单封装而已。
参考
- java并发编程,这篇主要介绍了:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6743464c83bd3d9cc7608f30eca384c3.png)
- ReentrantLock(AQS),Volatile,Synchronized的实现原理
- java的四种异步实现