昨天刚看完BlockingQueue觉得好高级啊,今天扫到1.7就发现了升级版。。。。如果对内容觉得不够充分,可以去看http://www.cs.rochester.edu/u/scott/papers/2009_Scherer_CACM_SSQ.pdf就是作者的论文啦,纯英文。。。比较难啃,但是我...
分类:
编程语言 时间:
2014-06-18 22:07:55
阅读次数:
192
生产者-消费者模型是多线程问题里面的经典问题,也是面试的常见问题。有如下几个常见的实现方法:1.
wait()/notify()2. lock & condition3. BlockingQueue下面来逐一分析。1.
wait()/notify()第一种实现,利用根类Object的两个方法wait...
分类:
编程语言 时间:
2014-06-16 09:37:57
阅读次数:
314
多线程代码被加入到mini-muduo,本篇主要介绍Linux多线程编程的5个类
1 Mutex
2 Condition
3 BlockingQueue
4 Thread
5 ThreadPool...
分类:
编程语言 时间:
2014-06-15 19:23:00
阅读次数:
348
队列,当进行多线程编程的时候,很多时候可能会用到,队列是先进先出的,我们可以将要执行的任务放置在队列内缓存起来,当线程池中线程可以使用的时候,我们就从队列中获取一个任务执行。。当前是一个队列的简单例子。package
com.chen.queue;import java.util.HashMap;i...
分类:
其他好文 时间:
2014-06-11 11:56:53
阅读次数:
183
LinkedBlockingQueue是BlockingQueue的一种使用Link
List的实现,它对头和尾(取和添加操作)采用两把不同的锁,相对于ArrayBlockingQueue提高了吞吐量。它也是一种阻塞型的容器,适合于实现“消费者生产者”模式。ArrayBlockingQueue是对B...
分类:
数据库 时间:
2014-06-06 18:19:29
阅读次数:
1947
背景
通过做下面一个小的接口系统gate,了解一下mina和java并发包里的东西。A系统为javaweb项目,B为C语言项目,gate是本篇需要完成的系统。
需求
1.
A为集群系统,并发较高,会批量发送给gate消息,并且接受gate返回的消息;
2.
gate独立部署,将从A接受到的消息压入队列,与B建立连接后,将每条消息验证签名等工作后,发送给B,需要保...
分类:
其他好文 时间:
2014-06-01 13:04:36
阅读次数:
330
目的:本文通过分析JDK源码来对比ArrayBlockingQueue 和LinkedBlockingQueue,以便日后灵活使用。
1. 在Java的Concurrent包中,添加了阻塞队列BlockingQueue,用于多线程编程。BlockingQueue的核心方法有:
* boolean add(E e) ,把 e 添加到BlockingQueue里。如果BlockingQueue可以容纳,则返回true,否则抛出异常。
* boolean offer(E e),表示如果可能的话,将 e 加...
分类:
数据库 时间:
2014-05-22 12:19:23
阅读次数:
442
接着上篇中没写完的(http://my.oschina.net/bluesroot/blog/223453),上篇中讲到很多,为完成对一个目录的扫描的频繁的IO操作,我们从单线程到多线程,从CountDownLatch到BlockingQueue,中间不免各种Callable和Future和ExecutorService等等,虽然纷繁,中间有些不免麻烦,但是最终仍紧紧贴着我们的需求和多线程操作这一...
分类:
编程语言 时间:
2014-05-07 11:24:35
阅读次数:
643
JDK1.5提供了阻塞队列接口BlockingQueue,它是一个有界阻塞队列。BlockingQueue实现是线程安全的,可以安全地与多个生产者和多个使用者一起使用。使用时用其实现类ArrayBlockingQueue,它一个由数组支持的有界阻塞队列。此队列按
FIFO(先进先出)原则对元素进行排...
分类:
编程语言 时间:
2014-05-01 06:58:46
阅读次数:
373