Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
其他好文 时间:
2014-10-27 21:04:17
阅读次数:
231
BlockingQueue 是接口 阻塞队列常用的方法有:抛出异常特殊值阻塞超时插入add(e)offer(e)put(e)offer(e, time, unit)移除remove()poll()take()poll(time, unit)检查element()peek()不可用不可用实现它的类有:...
分类:
其他好文 时间:
2014-10-25 21:22:50
阅读次数:
206
Java并发编程实践 目录并发编程—— ConcurrentHashMap并发编程—— 阻塞队列和生产者-消费者模式并发编程—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程—— Callable和Future并发编程—— CompletionService : Ex...
分类:
编程语言 时间:
2014-10-24 18:43:37
阅读次数:
217
1、阻塞队列 BlockingQueue是线程安全的Queue版本,从它的名字就可以看出,它是一个支持阻塞的Queue实现:当向空BlockingQueue请求数据时,它会阻塞至BlockingQueue非空;当向一个已满BlockingQueue插入数据时,线程会阻塞至BlockingQueu.....
分类:
编程语言 时间:
2014-10-12 18:50:48
阅读次数:
302
类似于Java阻塞队列的实现:public class BlockingQueue { private List queue = new LinkedList(); private int limit = 10;//缓冲区大小 public BlockingQueue(int limit){...
分类:
编程语言 时间:
2014-10-09 02:34:37
阅读次数:
197
阻塞队列:
1)BlockingQueue该接口提供了:
add()/remove() 如果当队列没有数据,从队列中取数据;或者队列中数据已满,
向队列中添加数据;则会抛出异常.
put()/take() 如果当队列没有数据,从队列中取数据;或者队列中数据已满,
向队列中添加数据;则会形成阻塞.
offer()/poll() 会给调用者返回特殊的值,开发者可以通过这些值做相应的处理
...
分类:
编程语言 时间:
2014-09-29 20:43:13
阅读次数:
297
LinkedBlockingQueue是一个链表实现的阻塞队列,在链表一头加入元素,如果队列满,就会阻塞,另一头取出元素,如果队列为空,就会阻塞。
LinkedBlockingQueue内部使用ReentrantLock实现插入锁(putLock)和取出锁(takeLock)。putLock上的条件变量是notFull,即可以用notFull唤醒阻塞在putLock上的线程。takeLo...
分类:
数据库 时间:
2014-09-29 12:56:10
阅读次数:
327
Java并发编程实践 目录并发编程—— ConcurrentHashMap并发编程—— 阻塞队列和生产者-消费者模式并发编程—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程—— Callable和Future并发编程—— CompletionService : Ex...
分类:
其他好文 时间:
2014-09-26 13:45:58
阅读次数:
220
Java并发编程实践 目录并发编程—— ConcurrentHashMap并发编程—— 阻塞队列和生产者-消费者模式并发编程—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程—— Callable和Future并发编程—— CompletionService : Ex...
分类:
其他好文 时间:
2014-09-25 20:36:17
阅读次数:
143
BlockingQueue作为线程容器,可以为线程同步提供有力的保障,其主要用到的方法包括:[java]view plaincopyadd(Eo);//将指定的元素添加到此队列中(如果立即可行),在成功时返回true,其他情况则抛出IllegalStateException。drainTo(Col....
分类:
编程语言 时间:
2014-09-16 12:34:10
阅读次数:
230