摘要: LinkedTransferQueue是JDK1.7才添加的阻塞队列,基于链表实现的FIFO无界阻塞队列,是ConcurrentLinkedQueue(循环CAS+volatile 实现的wait-free并发算法)、SynchronousQueue(公平模式下转交元素)、LinkedBlockin 阅读全文
posted @ 2019-07-02 17:04 是谁扭曲了时空 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 无锁编程 / lock-free / 非阻塞同步 无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Synchronization)。 实现非阻塞同步的方案称为“无锁编程算法”( Non-blocking 阅读全文
posted @ 2019-07-02 16:55 是谁扭曲了时空 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 1. 引言 在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环 CAS 的方式来 阅读全文
posted @ 2019-07-02 16:48 是谁扭曲了时空 阅读(855) 评论(0) 推荐(0) 编辑