摘要: 1. 简介 相比Future(【并发编程】Java5 - Future,基本使用),Guava提供的ListenableFuture支持不阻塞主线程进行任务执行完成后的业务处理。 使用Future的实现类FutureTask想要实现一旦获取到结果立即执行后续的业务,就需要阻塞主线程等待结果或者使用其 阅读全文
posted @ 2023-03-28 16:56 C3Stones 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 1. 简介 CompletableFuture是Java8的新特性,在Future基础上,增加流式计算、函数式编程、完成通知、自定义异常、多个Future组合处理等能力,使得在多线程协同处理时更加顺利。 2. 相关博客 【并发编程】Java5 - Future,基本使用 【并发编程】Java5 - 阅读全文
posted @ 2023-03-28 16:56 C3Stones 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 1. 简介 相比Future(【并发编程】Java5 - Future,基本使用),CompletionService除了支持并行执行任务并获取结果外,还支持优先获取到最快执行的任务结果,但CompletionService要求并行执行的任务是无序的。 使用Future的实现类FutureTask获 阅读全文
posted @ 2023-03-28 16:55 C3Stones 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 1. 简介 在使用多线程开发中,不论是继承Thread类还是实现Runnable接口方式,都无法非常方便的获取异步任务执行的结果。在JDK1.5提供了和Runnable类似但多了返回值的Callable接口,通过Future接口实现类和Callable接口方式,可以非常灵活的进行多线程操作,例如:获 阅读全文
posted @ 2023-03-28 16:54 C3Stones 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 1. 继承Thread类 import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; /** * 继承Thread类创建多线程单元测试 * * @author CL */ @Slf4j public class Threa 阅读全文
posted @ 2023-03-28 16:53 C3Stones 阅读(72) 评论(0) 推荐(0) 编辑