线程间的通信:其实就是多个线程再操作同一个资源,但是操作的动作不同当某个线程进入synchronized块后,共享数据的状态不一定满足该线程的需要,需要其他线程改变共享数据的状态后才能运行,而由于当时线程对共享资源时独占的,它必须解除对共享资源的锁定的状态,通知其他线程可以使用该共享资源。Java中...
分类:
编程语言 时间:
2014-07-31 16:40:16
阅读次数:
181
1.ArrayDeque, (数组双端队列)? 2.PriorityQueue, (优先级队列)? 3.ConcurrentLinkedQueue, (基于链表的并发队列) 4.DelayQueue,???????????????????????????????????...
分类:
其他好文 时间:
2014-07-29 16:19:49
阅读次数:
327
今天来介绍一下“Protocol Buffers”(下面简称protobuf)这个玩意儿。本来俺在构思“生产者/消费者模式”系列的下一个帖子:关于生产者和消费者之间的传输数据格式。因为里面扯到了protobuf,想想干脆单独开一个帖子算了。 ★protobuf是啥玩意儿? 为了照应从没听说过...
分类:
其他好文 时间:
2014-07-14 23:10:45
阅读次数:
491
最近遇到一个问题.就是
我在io线程里不断的把一个函数调用放到队列里
然后ruby线程就不断的从这个队列里取出函数之争并执行.
典型的 消费者模式.
我以前以为是这样...
这是work线程
pthread_mutex_lock(&mutex2)
while(( invoke = get_invoke() ) != NULL){
do_invoke(invo...
分类:
其他好文 时间:
2014-06-04 22:35:56
阅读次数:
408
我们经常会遇到生产者消费者模式,比如前端各种UI操作事件触发后台逻辑等。在这种典型的应用场景中,我们可能会有4个业务处理逻辑(下文以P代表生产者,C代表消费者):
1. FIFO(先进先出)
P产生1,2,3,4,5,6,3,2
C处理顺序应为1,2,3,4,5,6,3,2
2.LIFO(后进先出)
P产生1,2,3,4,5,6,3,2
C处...
分类:
其他好文 时间:
2014-06-04 21:51:08
阅读次数:
421
我们经常会遇到生产者消费者模式,比如前端各种UI操作事件触发后台逻辑等。在这种典型的应用场景中,我们可能会有4个业务处理逻辑(下文以P代表生产者,C代表消费者):1.
FIFO(先进先出) P产生1,2,3,4,5,6,3,2 C处理顺序应为1,2,3,4,5,6,3,22.LIFO(后进先出) P...
分类:
其他好文 时间:
2014-05-29 08:19:55
阅读次数:
384
来源:http://blog.csdn.net/caisini_vc/article/details/5599468今天来介绍一下“ProtocolBuffers”(以下简称protobuf)这个玩意儿。本来俺在构思“生产者/消费者模式
”系列的下一个帖子:关于生产者和消费者之间的数据传输格式。由于...
分类:
其他好文 时间:
2014-05-23 05:46:36
阅读次数:
245
今天打算来介绍一下“生产者/消费者模式”,这玩意儿在很多开发领域都能派上用场。由于该模式很重要,打算分几个帖子来介绍。今天这个帖子先来扫盲一把。如果你对这个模式已经比较了解,请跳过本扫盲帖,直接看下一个帖子(关于该模式的具体应用)。
看到这里,可能有同学心中犯嘀咕了:在四人帮(GOF)的23种模式....
分类:
其他好文 时间:
2014-05-19 15:38:50
阅读次数:
172
一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式。利用redis这两种场景的消息队列都能够实现。定义:生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列,谁先抢到消息谁就会从队列中取走消息;即对于每个消息只能被最多一个消费者拥有。发布者订阅者模式:发布者生...
分类:
其他好文 时间:
2014-05-19 06:59:46
阅读次数:
446
在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。为什么要使用生产者和消费者模式在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生...
分类:
其他好文 时间:
2014-05-09 08:19:05
阅读次数:
455