个人简介

Echo Blog


江湖无名 安心练剑
  • 锁专题(10)Linux SeqLocks 原子信号量说明
    3. 原子信号量说明 Itanium 处理器提供了许多称为“信号量指令”的原子读取修改写入操作。 信号量指令之所以昂贵,是因为它们获取了专有的高速缓存行,然后以原子方式对高速缓存行执行了读取修改写入周期。 处理器无法以与其他Itanium指令相同的方式优化内存访问。 信号量指令始终是非推测性(non-speculative)的。 这意味着原子信号指令会导致管道停顿。 所有信号量操...
    2020-10-17 08:15:55 | Lock
  • 锁专题(10)Linux SeqLocks
    Effective Synchronization on Linux/NUMA Systems 要在基于Itanium的大型NUMA系统上获得令人满意的性能,必须进行有效的锁定。 当前,在Linux内核中,NUMA计算机上并行执行流的同步是通过多种机制实现的,这些机制包括原子操作,锁定和内存访问排序。 各种同步方法也可以组合以提高性能。 演讲提出了Linux onItanium上基本...
    2020-10-17 08:15:55 | Lock
  • 锁专题(9) SynchronousQueue 同步队列源码解析
    SynchronousQueue 是什么 SynchronousQueue 是这样一种阻塞队列,其中每个 put 必须等待一个 take,反之亦然。 简而言之:线程安全,阻塞。 入门案例 我们定义两个线程,一个负责写入,一个负责读取。 import java.util.concurrent.SynchronousQueue; import java.util.concurre...
    2020-10-17 08:15:55 | Lock
  • 锁专题(9) Semaphore 信号量源码深度解析
    情景导入 我想各位小伙伴一定都做过导出功能,就算没做过,那肯定也用过。 如果你既没有吃过猪肉,也没有见过猪跑。那这篇文章也可以读一读,可以补充点知识。 导出作为一个非常常见的功能,也是稍有不慎就会导致系统压力剧增的问题之一。 有类似苦恼的小伙伴可以阅读下我以前写的文章: java 导出 excel 最佳实践,java 大文件 excel 避免OOM(内存溢出) excel 工...
    2020-10-17 08:15:55 | Lock
  • 锁专题(9) PriorityBlockingQueue 优先级阻塞队列源码解析
    PriorityBlockingQueue 简介 一个无界BlockingQueue,它使用与类PriorityQueue相同的排序规则,并提供阻塞检索操作。 尽管此队列在逻辑上是不受限制的,但是尝试添加可能由于资源耗尽 OutOfMemoryError而失败。 限制如下: (1)此类不允许使用null元素。 (2)依赖于Comparable的优先级队列也不允许插入不可比较的...
    2020-10-17 08:15:55 | Lock
  • 锁专题(9) LinkedTransferQueue 源码解析
    LinkedTransferQueue 是什么 基于链接节点的无限制 TransferQueue。 此队列针对任何给定的生产者对元素FIFO(先进先出)进行排序。 队列的开头是某个生产者在队列中停留时间最长的元素。 队列的尾部是某个生产者最短时间进入队列的元素。 LinkedTransferQueue 是 LinkedBlockingQueue、SynchronousQueu...
    2020-10-17 08:15:55 | Lock
  • 锁专题(9) LinkedBlockingQueue 使用入门及源码解析
    问题 LinkedBlockingQueue 是什么? 优缺点? 应用场景? 源码实现? 个人启发? LinkedBlockingQueue 双向并发阻塞队列。 所谓双向是指可以从队列的头和尾同时操作,并发只是线程安全的实现,阻塞允许在入队出队不满足条件时挂起线程,这里说的队列...
    2020-10-17 08:15:55 | Lock
  • 锁专题(9) DelayQueue 延迟队列源码解析
    DelayQueue 简介 延迟元素的无限制BlockingQueu,其中元素只能在其延迟到期后才能获取。 当元素的getDelay(TimeUnit.NANOSECONDS)方法返回小于或等于零的值时,就会发生过期。 即使未到期的元素无法使用take或poll删除,它们也被视为普通元素。 此队列不允许 null 元素。 思考题 为什么不允许有 null 元素? 其实和其他几...
    2020-10-17 08:15:55 | Lock