在前面介绍的几篇博客中总是提到CLH队列,在AQS中CLH队列是维护一组线程的严格依照FIFO的队列。他可以确保无饥饿,严格的先来先服务的公平性。下图是CLH队列节点的示意图:在CLH队列的节点QNode中包括有一个locked的字段,该字段表示该节点是否须要获取锁。为true表示须要获取,为fal ...
分类:
编程语言 时间:
2017-06-22 10:15:56
阅读次数:
230
以下内容转自http://ifeve.com/starvation-and-fairness/: 如果一个线程因为CPU时间全部被其他线程抢走而得不到CPU运行时间,这种状态被称之为“饥饿”。而该线程被“饥饿致死”正是因为它得不到CPU运行时间的机会。解决饥饿的方案被称之为“公平性”–即所有线程均能 ...
分类:
编程语言 时间:
2017-06-16 13:30:34
阅读次数:
228
锁是给线程用的,线程拿到锁之后才能干活。当多个线程竞争一个锁时,同一个时间只能有一个线程脱颖而出持有锁,其他线程等该线程释放锁后发起下一轮竞争。那么这种竞争就存在公平性问题,如果是公平的竞争,那么这些线程就得有序来依次得到锁,这就需要线程们按先来后到排队,第一个线程使用完后把锁递给第二个线程,以此类 ...
分类:
其他好文 时间:
2017-06-10 22:29:22
阅读次数:
244
在JDK 1.5之前,提到并发,java程序员们一般想到的是wait()、notify()、Synchronized关键字等,但是并发除了要考虑竞态资源、死锁、资源公平性等问题,往往还需要考虑性能问题,在一些业务场景往往还会比较复杂,这些都给java coder们造成不小的难题。JDK 1.5的co ...
分类:
编程语言 时间:
2017-05-19 14:30:39
阅读次数:
220
众所周知, Mesos在运行时使用wDRF( Dominant Resource Fairness)算法进行一级资源分配, 通过应用程序(Framework)运行时使用资源进行二级资源调度。以此来达到资源分配的公平性和灵活性。但在资源有限的情况下,对于尚未部署的程序如何分配资源?为此Mesos提供了 ...
分类:
其他好文 时间:
2017-03-14 11:49:49
阅读次数:
215
重入锁ReentrantLock 锁获取的公平性问题: 先对锁进行获取的请求一定先被满足,那么这个锁是公平的,反之,是不公平的。ReentrantLock提供了一个构造函数(传人一个布尔值),来控制锁是否是公平的 1.实现重进入 2.公平与非公平获取锁 公平与非公平获取锁的区别 :锁的获取顺序是否符 ...
分类:
其他好文 时间:
2017-02-18 11:04:41
阅读次数:
268
——本文为博主原创,转载请注明出处 声明:本文为博主脚本编写的练手心得,一定程度上破坏了我校场地预定的公平性,在未经作者允许情况下请勿传播 虽然综体、气膜馆、西体有很多的羽毛球场,然我清贵为体校,一直以来都一场难求,往往开始预约30秒后除了6点半的场次就都没有了。于是作为手残的程序员,笔者决定发挥自 ...
分类:
其他好文 时间:
2016-11-30 14:23:23
阅读次数:
285
【摘要】对多种TCP拥塞控制算法进行简要说明,指出它们的优缺点、以及它们的适用环境。 【关键字】TCP拥塞控制算法 优点 缺点 适用环境公平性 公平性 公平性是在发生拥塞时各源端(或同一源端建立的不同TCP连接或UDP数据报)能公平地共享同一网络资源(如带宽、缓存等)。处于相同级别的源端应该得到相同 ...
分类:
编程语言 时间:
2016-11-21 18:50:47
阅读次数:
212
让TCP以流水线方式工作靠谱吗?也许你听说过MPTCP,也许你听过P2P下载是多么的天下人为我而我负天下人。 如果我能将一个TCP流拆分成多个TCP流,理论上来讲传输速度会有很大的提升,因为TCP拥塞控制算法是必须携带公平性收敛特征的(不然paper不会通过...),TCP反馈系统会为每一个加入的流分配一张船票,反馈系统不会管你们几个是不是一伙儿的,它只按人头计数,不会分组,这样就有...
分类:
其他好文 时间:
2016-07-02 09:14:02
阅读次数:
292