![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
concurrent
iteye_17648
这个作者很懒,什么都没留下…
展开
-
逻辑划分线程池-任务池
服务端编程里,线程池的使用非常普遍。往往是按照逻辑划分为不同的线程池。这种做法存在一个问题,对每个线程池的利用都是局部的,缺少一个全局限制的目标。 希望能有一种任务池的机制,多个任务池共享一个线程池,每个任务池可配置并发执行的能力,主要有两个参数,固定为该任务池服务的线程数和峰值时可弹性增加的线程数。 在网上发现类似的两篇文章,放翁(文初)的《逻辑划分线程池》和淘宝博客上一篇...2011-05-22 10:44:59 · 303 阅读 · 0 评论 -
线程锁系列(1):CLH Lock
最近在看关于线程锁的算法,做一个整理。资料出自于《The Art of Multiprocessor Programming》,算是一个读书笔记吧。示范代码基于java。 第一章是Craig, Landin, and Hagersten (CLH) locks。先上CLHLock的实现逻辑:public class CLHLock implements Lock { pr...2010-12-30 23:22:46 · 166 阅读 · 0 评论 -
Concurrent Synchronizer Framework(1)
Doug Lea大神的concurrent包的lock,无论是在1.5还是1.6上(开或是不开自旋锁选项),都比jvm级别的synchronized高效和伸缩性更强,功能更丰富。对此很是好奇,语法上的实现是如何打败jvm级别上的实现?从Doug Lea的《The java.util.concurrent Synchronizer Framework》开始,感兴趣的筒子们可下来拜读一下。 这个...2011-01-14 12:16:49 · 91 阅读 · 0 评论 -
Concurrent Synchronizer Framework(2)
这章来自3.1《Synchronization State》和3.2的《Blocking》。 AbstractQueuedSynchronizer会维护一个Int类型的synchronization state。公开了3个访问和更新state的方法,分别是:getState,setState和compareAndSetState。这些方法依赖java.util.concurrent...2011-03-03 23:14:28 · 84 阅读 · 0 评论 -
Concurrent Synchronizer Framework(3)
这章来自3.3《Queues》。 这个framework的核心是排队阻塞线程。这里的排队限制为先进先出,因此,framework不支持基于优先级的排队。 对于同步队列使用非阻塞队列,从而不用构造一些low-level的锁这一个选择,几乎是没有争论的。有两个选择,CLH Lock和MCS Lock。原始的CLH Lock仅仅使用自旋锁,但是相...2011-03-08 09:11:19 · 81 阅读 · 0 评论