印象博客


  • 主页

  • 标签

  • 分类

  • 归档

  • 工具

并发编程-深入理解阻塞队列ArrayBlockingQueue源码

Posted on 2019-03-30 | In 并发编程
概述 ArrayBlockingQueue是一个由数组构成的有界阻塞队列,此队列按 FIFO(先进先出)原则对元素进行排序,支持公平和非公平模式,默认情况下不保证线程公平的访问队列。新元素插入到队列的尾部,队列获取操作则是从队列头部开始获得元素常用方法 ArrayBlockingQueue(int ...
Read more »

并发编程-深入理解ConcurrentLinkedQueue源码

Posted on 2019-03-29 | In 并发编程
概述 ConcurrentLinkedQueue是一个基于链接节点的无边界的线程安全队列,它采用先进先出原则对元素进行排序,插入元素放入队列尾部,出队时从队列头部返回元素,利用CAS方式实现的 ConcurrentLinkedQueue的结构由头节点和尾节点组成的,都是使用volatile修饰的。每 ...
Read more »

并发编程-深入理解ThreadLocal源码

Posted on 2019-03-28 | In 并发编程
概述 ThreadLocal 是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰。在高并发场景下,可以实现无状态的调用,适用于各个线程不共享变量值的操作。 内部使用静态内部类ThreadLocalMap存储每个线程变量副本的方法,key存储的 ...
Read more »

并发编程-深入理解Semaphore源码

Posted on 2019-03-24 | In 并发编程
概述 Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。 比如数据库的连接资源是非常有限的,如果同时有上千个线程去数据获取连接,对数据造成的压力是非常的,会造成数据库无法连接而报错,Semaphore就可以限制此类问题 Semaphore有非公平和公平模式,默认是非公平的。 ...
Read more »

并发编程-深入理解CyclicBarrier同步屏障源码

Posted on 2019-03-23 | In 并发编程
概述 CyclicBarrie允许让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。 CyclicBarrier只能唤起一个任务,CountDownLatch可以同时唤起多个任务 CyclicBarrier可重用,Count ...
Read more »

并发编程-深入理解CountDownLatch源码

Posted on 2019-03-22 | In 并发编程
概述 允许一个线程的或多个线程等待其他线程完成操作。和join方法类似,初始化对象时通过传入一个固定的计数器总数,线程方法执行时调用countDown给计数器减1,当计数器0时,就会恢复等待的线程继续执行。 CountDownLatch的计数器不能重用。只能使用一次*常用的使用场景是提升程序的并行效 ...
Read more »

并发编程-深入理解ReentrantReadWriteLock读写锁

Posted on 2019-03-21 | In 并发编程
概述 ReentrantReadWriteLock内部维护了一对锁,读锁和写锁。支持重入和公以及平非公平模式。读锁是共享式的,多个线程可以并发的读取。写锁是独占式的,在写线程访问时,所有的读线程和其他写线程均被阻塞。通过分离读锁和写锁,使得并发性相比一般的排他锁有了很大提升 锁降级:遵循获取写锁,获 ...
Read more »

并发编程-深入理解ReentrantLock

Posted on 2019-03-20 | In 并发编程
什么是ReentrantLock ReentrantLock是一个可重入的互斥锁锁, 实现Lock接口。具有与使用 synchronized 方法和语句所访问的隐式监视器锁相同的一些基本行为和语义。ReentrantLock是显示的获取或释放锁,并且有锁超时,锁中断等功能。 内部维户了一个Sync ...
Read more »

并发编程-深入理解AQS(队列同步器)

Posted on 2019-03-19 | In 并发编程
什么是AQS AbstractQueuedSynchronizer是一个队列同步器,是用来构建锁和其它同步组件的基础框架,它使用一个volatile修饰的int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程排队的工作 通过改变int成员变量state来表示锁是否获取成功,当state ...
Read more »

【PMP备考】关进术语和计算公式

Posted on 2019-03-15 | In PMP备考
关键术语 EVM: 挣值管理 ES:挣得进度。ES 是 EVM 理论和实践的延伸。如果挣得进度大于 0,则 表示项目进度提前了 AT:实际时间 SPI:进度绩效指数 EAC:项目完工预算 CA:控制账户 EVA:挣值分析 PV: 计划价值.在即定时间点前计划完成活动或WBS组件工作的预算成本 PM ...
Read more »
123…6
qinxuewu

qinxuewu

57 posts
14 categories
37 tags
RSS
GitHub 码云 E-Mail
Links
  • spring
  • SpringCloudAlibaba
  • leetcode
  • SpringCloud
  • SpringBoot
© 2018 — 2019 qinxuewu
Powered by Hexo
Hosted by GitHub