2022年11月11日
摘要:
jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一) 线程池介绍 在日常开发中经常会遇到需要使用其它线程将大量任务异步处理的场景(异步化以及提升系统的吞吐量),而在使用线程的过程中却存在着两个痛点。 在java等很多主流语言中每个逻辑上的线程底层都对应着一个系统线
阅读全文
posted @ 2022-11-11 00:05
小熊餐馆
阅读(1032)
推荐(1)
2022年9月23日
摘要:
MapReduce: Simplified Data Processing on Large Clusters(MapReduce: 简化大型集群下的数据处理) 作者:Jeffrey Dean and Sanjay Ghemawat Abstract(摘要) MapReduce is a progr
阅读全文
posted @ 2022-09-23 20:39
小熊餐馆
阅读(3960)
推荐(1)
2022年7月28日
摘要:
MyDisruptor V6版本介绍 在v5版本的MyDisruptor实现DSL风格的API后。按照计划,v6版本的MyDisruptor作为最后一个版本,需要对MyDisruptor进行最终的一些细节优化。 v6版本一共做了三处优化: 解决伪共享问题 支持消费者线程优雅停止 生产者序列器中维护消
阅读全文
posted @ 2022-07-28 22:48
小熊餐馆
阅读(1047)
推荐(3)
2022年7月14日
摘要:
MyDisruptor V5版本介绍 在v4版本的MyDisruptor实现多线程生产者后。按照计划,v5版本的MyDisruptor需要支持更便于用户使用的DSL风格的API。 由于该文属于系列博客的一部分,需要先对之前的博客内容有所了解才能更好地理解本篇博客 v1版本博客:从零开始实现lmax-
阅读全文
posted @ 2022-07-14 20:53
小熊餐馆
阅读(1023)
推荐(0)
2022年7月5日
摘要:
MyDisruptor V4版本介绍 在v3版本的MyDisruptor实现多线程消费者后。按照计划,v4版本的MyDisruptor需要支持线程安全的多线程生产者功能。 由于该文属于系列博客的一部分,需要先对之前的博客内容有所了解才能更好地理解本篇博客 v1版本博客:从零开始实现lmax-Disr
阅读全文
posted @ 2022-07-05 21:28
小熊餐馆
阅读(1609)
推荐(1)
2022年6月17日
摘要:
MyDisruptor V3版本介绍 在v2版本的MyDisruptor实现多消费者、消费者组间依赖功能后。按照计划,v3版本的MyDisruptor需要支持多线程消费者的功能。 由于该文属于系列博客的一部分,需要先对之前的博客内容有所了解才能更好地理解本篇博客 v1版本博客:从零开始实现lmax-
阅读全文
posted @ 2022-06-17 20:53
小熊餐馆
阅读(2389)
推荐(1)
2022年6月9日
摘要:
MyDisruptor V2版本介绍 在v1版本的MyDisruptor实现单生产者、单消费者功能后。按照计划,v2版本的MyDisruptor需要支持多消费者和允许设置消费者组间的依赖关系。 由于该文属于系列博客的一部分,需要先对之前的博客内容有所了解才能更好地理解本篇博客 v1版本博客:从零开始
阅读全文
posted @ 2022-06-09 21:32
小熊餐馆
阅读(2045)
推荐(1)
2022年6月2日
摘要:
1.lmax-Disruptor队列介绍 disruptor是英国著名的金融交易所lmax旗下技术团队开发的一款java实现的高性能内存队列框架 其发明disruptor的主要目的是为了改进传统的内存队列实现如jdk的ArrayBlockingQueue、LinkedBlockingQueue等在现
阅读全文
posted @ 2022-06-02 19:45
小熊餐馆
阅读(2822)
推荐(2)
2021年9月14日
摘要:
1. MyAQS介绍 在这个系列博客中,我们会参考着jdk的AbstractQueuedLongSynchronizer,从零开始自己动手实现一个AQS(MyAQS)。通过模仿,自己造轮子来学习主要有两个好处,一是可以从简单到复杂,从核心逻辑再到旁路逻辑的实现,学习曲线较为平滑;二是可以站在设计者的
阅读全文
posted @ 2021-09-14 01:26
小熊餐馆
阅读(844)
推荐(0)
2021年8月13日
摘要:
1.什么是自旋锁? 自旋锁作为锁的一种,和互斥锁一样也是为了在并发环境下保护共享资源的一种锁机制。在任意时刻,只有一个执行单元能够获得锁。 互斥锁通常利用操作系统提供的线程阻塞/唤醒机制实现,在争用锁失败时令线程陷入阻塞态而让出cpu,并在获取到锁时再将其唤醒。而自旋锁则是通过加锁程序中的无限循环,
阅读全文
posted @ 2021-08-13 20:29
小熊餐馆
阅读(2806)
推荐(2)