juc
java.util .concurrent工具包的类
你就像甜甜的益达
世界上所有的不公平都是由于当事人能力不足造成的!
展开
-
CompletableFuture handle和whenComplete区别
handle 方法和whenComplete方法类似,只不过接收的是一个 BiFunction<? super T,Throwable,? extends U> fn 类型的参数,因此有 whenComplete 方法和 转换的功能 (thenApply)原创 2020-06-30 10:32:11 · 14343 阅读 · 0 评论 -
BiConsumer跟BiFunction的区别详解
Comsumer和BiConsumer方法:首先看一下两个接口:几乎差不多,就是方法参数多一个.BiConsumer可以看做Consumer的增强吧!Consumer的作用就是定义一个函数,然后对其进行消费处理,(accept方法);而andThen方法相当于是组合两个方法,返回一个新的方法,是先对给定的参数进行定义的操作然后在执行after操作;BiConsumer就是Consumer的加强版,处理两个参数,默认方法andThen也是一样的:写个测试:@Test public void原创 2020-06-30 12:30:49 · 7784 阅读 · 0 评论 -
CompletableFuture多任务组合
文章目录简介allof,anyof方法anyof简介上一篇写了CompletableFuture的一些常用方法,今天看看CompletableFuture的一些不是很常用的方法,至少我是不常用…接着上篇讲,上篇最后我记得提过allof,和anyof方法allof,anyof方法allof顾名思义,就是所有的任务执行完成后返回future,anyif就是只要有一个任务执行完成后就返回future并将第一个完成的参数带着一起返回,代码: @Test public void allOfTest1原创 2020-05-10 19:10:34 · 3476 阅读 · 1 评论 -
浅谈Lock
javaLock是一个接口:根据方法名字,基本知道方法的主要用途。命名很重要。。。ReentrantLock,可重入锁,ReentrantLock是唯一实现了Lock接口的类,简单的测试:Lock应该放在成员变量里面,如果放在方法里面,每次执行都会new一个新的Lock,就不是同一个lock了lock放在方法里面,执行出来多个线程在获得锁:tryLock() & try...原创 2019-04-06 18:05:09 · 490 阅读 · 0 评论 -
CompletableFuture.allOf方法,future的handler有没有执行问题
文章目录场景模拟结论场景在分片上传的时候,有返回对应的etag,所以,我需要在分片上传完成之后,对返回的数据进行封装,封装完成后调最后的完成接口.出现问题,总是缺少部分分片,偶尔会报错…模拟for循环创建CompletableFuture,然后执行allOf方法看看代码: @Test public void allOfTest2() throws Exception { ...原创 2020-05-06 19:15:03 · 7843 阅读 · 23 评论 -
CompletableFuture常用方法详解
文章目录初始化CompletableFuture常用方法获取返回结果:异步执行结果(相当于设置处理器,执行完成,自动执行处理器,异步):初始化CompletableFutureCompletableFuture有五个静态方法,这个返回已经计算好结果的,封装为CompletableFuture返回(我在想,既然已经计算好了,那我还要使用CompletableFuture干啥?我使用Compl...原创 2020-04-27 18:11:13 · 4965 阅读 · 0 评论 -
spring异步执行方法线程池的配置
有注解和xml两种方式,我这里只大概记录一下注解方式,趋势=-=首先新建一个配置类,必须被spring管理,这里就不多说了…import com.google.common.util.concurrent.ThreadFactoryBuilder;import lombok.extern.slf4j.Slf4j;import org.springframework.aop.intercep...原创 2019-02-11 16:49:34 · 4590 阅读 · 3 评论