
Concurrency
iteye_4538
这个作者很懒,什么都没留下…
展开
-
liveness hazard—死锁,活锁,饥饿
在java多线程编程中,一不小心就会引起活性危险(liveness hazard),需要非常谨慎。liveness可以翻译成活性,如果线程的活性好,说明运行状态不错,能得到CPU的有效处理;反之则线程可能处于死锁、饥饿、活锁等危险状态。-------------------------------------------------------------------------------...2014-09-04 11:31:37 · 260 阅读 · 0 评论 -
ArrayBlockingQueue和LinkedBlockingQueue的区别
1.队列中的锁的实现不同 ArrayBlockingQueue中的锁是没有分离的,即生产和消费用的是同一个锁; LinkedBlockingQueue中的锁是分离的,即生产用的是putLock,消费是takeLock 2.在生产或消费时操作不同 ArrayBlockingQueue基于数组,在生产和消费的时候,是直接将枚举对象插入或移除的...2014-09-15 14:38:43 · 559 阅读 · 1 评论