11 2017 档案
摘要:CountDownLatch 和CyclicBarrier的区别是,CyclicBarrier可以循环使用,CountDownLatch不可以;CyclicBarrier可以有一个Runnable参数,在所有子任务执行完成后触发一个动作。两者在模型上近似,都是等待一批固定数量的子任务执行完成后才能执
阅读全文
摘要:CyclicBarrier 循环屏障,用于一组固定数目的线程互相等待。使用场景如下: 主任务有一组串行的执行节点,每个节点之间有一批任务,固定数量的线程执行这些任务,执行完成后,在节点完成集合后,再继续执行下一批任务。 如下图所示: 屏障可以在每个节点处循环使用。构造屏障时,提供了一个可选的Runn
阅读全文
摘要:Semaphore 控制对资源的并发访问数,构造时如果传参为1,则近似于ReentrantLock,差别在于锁的释放。可以一个线程获取锁,另外一个线程释放锁,在一些死锁处理的场合比较适用。 如上所示,信号量为4,当超过4个并发试图访问共享资源时,多出来的线程(红色部分)会被阻塞,直至有线程释放信号量
阅读全文
摘要:索引失效场景 1、当使用or来组合多个查询条件的情况下,如果不是每一列的条件都有索引,索引整体表现失效;2、当使用多列索引的时候,如果没有匹配到第一部分,索引失效;3、当使用like的时候,以%开头,等价于全表扫描,此时索引失效; 4、当数据类型是字符串类型的时候,如果条件数据不是字符串类型,此时索
阅读全文

浙公网安备 33010602011771号