摘要: 1 获得结果和触发计算 1.1 获取结果 public T get() public T get(long timeout,TimeUnit unit) public T join() >和get一样的作用,只是不需要抛出异常 public T getNow(T valuelfAbsent) >计算 阅读全文
posted @ 2024-01-14 15:42 KwFruit 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 1 需求 电商网站比价需求分析: 1.1 需求说明: a. 同一款产品,同时搜索出同款产品在各大电商平台的售价 b. 同一款产品,同时搜索出本产品在同一个电商平台下,各个入驻卖家售价是多少 1.2 输出返回: a. 出来结果希望是同款产品的在不同地方的价格清单列表,返回一个List 例如:《Mysq 阅读全文
posted @ 2024-01-14 14:51 KwFruit 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 1 get() 用get()方法来获取线程计算结果的返回值 @SneakyThrows public static void future(){ CompletableFuture<Integer> completableFuture = CompletableFuture.supplyAsync( 阅读全文
posted @ 2024-01-14 14:29 KwFruit 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 1 CompletableFuture对Future的改进 1.1 CompletableFuture为什么会出现 get()方法在Future计算完成之前会一直处在阻塞状态下,阻塞的方式和异步编程的设计理念相违背。 isDene()方法容易耗费cpu资源(cpu空转), 对于真正的异步处理我们希望 阅读全文
posted @ 2024-01-14 13:27 KwFruit 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 1 从FutureTask到CompletableFuture 1.1 Future Future接口(FutureTask实现类)定义了操作异步任务执行一些方法,如获取异步任务的执行结果、取消异步任务的执行、判断任务是否被取消、判断任务执行是否完毕等。 举例:比如主线程让一个子线程去执行任务,子线 阅读全文
posted @ 2024-01-14 12:43 KwFruit 阅读(34) 评论(0) 推荐(0) 编辑