生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。
用信号量和锁机制、管道都可实现生产者和消费者之间的同步;
- wait() / notify()方法
- await() / signal()方法
- BlockingQueue
- Semaphore方法
- PipedInputStream / PipedOutputStream...
分类:
编程语言 时间:
2016-04-23 11:58:14
阅读次数:
235
<!-- Generated by javadoc (build 1.6.0-beta2) on Mon Mar 19 18:27:54 CST 2007 --> Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对 ...
分类:
编程语言 时间:
2016-04-22 18:27:54
阅读次数:
600
转自:https://github.com/alibaba/RocketMQ/wiki/rmq_vs_kafka 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linki ...
分类:
其他好文 时间:
2016-04-19 21:35:49
阅读次数:
310
深度剖析消息反射机制作者:hustli 摘要:在前面我们分析了控件通知消息WM_NOTIFY,和WM_NOTIFY紧密联系的还有一个MFC新特性:消息反射。本文中,我想就这个问题作一个全面的论述,如果有错误,还望各路大虾批评指正。 什么是消息反射? 在windows里面,子控件经常向父控件发送消息, ...
分类:
其他好文 时间:
2016-04-18 01:01:53
阅读次数:
136
当你使用synchronized关键字的时候,是通过互斥器来保障线程安全以及对共享资源的同步访问。线程间也经常需要更进一步的协调执行,来完成复杂的并发任务,比如wait/notify模式就是一种在多线程环境下的协调执行机制。 通过API来获取和释放锁(使用互斥器)或者调用wait/notify等方法 ...
分类:
编程语言 时间:
2016-04-14 22:18:11
阅读次数:
157
此文是rocketmq作者vintage.wang所写,对于每项对比,后面都增加了我的观点,有不对的地方,请各位指出。 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Li ...
分类:
其他好文 时间:
2016-04-13 14:41:38
阅读次数:
630
Subject 通知者接口: public interface Subject { void Notify(); string SubjectState { get; set; } } StockObserver 看股票同事类: /// <summary> /// 看股票同事类 /// </summ ...
分类:
其他好文 时间:
2016-04-04 11:34:17
阅读次数:
141
线程之间的同步,除了互斥(前面介绍的互斥锁)之外,还存在协作关系,下面我们就介绍一下java线程间常见的一些协作方式。一、内置条件队列正如每个Java对象都可以作为一个内置锁,每个对象也可以作为一个条件队列,称为内置条件队列,Object.wait()、notify()/notifyAll()构成了内置条件队列的API。需要注意的是,调用任何对象X的内置条件队列的API都必须要先获得该对象X的内置...
分类:
编程语言 时间:
2016-04-03 17:38:34
阅读次数:
268
html代码: hub代码: 通知调用Notify方法即可。 关键点:GlobalHost.ConnectionManager.GetHubContext ...
分类:
其他好文 时间:
2016-04-01 17:35:19
阅读次数:
232
1. 引言 这篇博客通过实现一个有界容器来表述Java里wait,notify,notifyAll的用法。这些关键词用的概率不高,但是阅读一些源码的时候还是经常会遇到,写一下增强记忆。 具体生产实践的时候,对于我来说我是不推荐程序员们直接使用这些的,JAVA1.5之后提供很多直接可用的线程安全的容器 ...
分类:
编程语言 时间:
2016-03-30 01:32:50
阅读次数:
126