我们经常会遇到生产者消费者模式,比如前端各种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(后进先出)...
分类:
其他好文 时间:
2015-05-30 17:51:10
阅读次数:
152
成都,一个美食、美景、美女笼罩着的城市,一个来了就不想走的城市,也是一个来了就不太好走的城市。不太好走,因为出租车不太好坐。记不清哪一年,第一次从市里面去华阳办事。司机问清楚要去的地方,立即说不打表150元。问为什么不打表,司机很硬气地说这是上面的规定,去华阳..
分类:
其他好文 时间:
2015-05-29 18:30:53
阅读次数:
126
Thread类基本信息方法
线程同步
由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。由于我们可以通过private关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就是synchronized关键字,它包括两种用法:synchr...
分类:
编程语言 时间:
2015-05-28 21:37:02
阅读次数:
215
java线程中断[interrupt()函数]http://vikings825.iteye.com/blog/964644聊聊并发——生产者消费者模式http://www.infoq.com/cn/articles/producers-and-consumers-mode/
分类:
编程语言 时间:
2015-05-27 21:02:54
阅读次数:
153
同步:共享资源被多个线程 调用,同步的方式有多种:(场景:卖火车票) 1 syncnizerd 关键字 2 reentrantLock 排它锁 3 volatile 关键字 修饰变量;异步:改变线程本身的状态 ,异步方法有多种:(场景:生产者消费者模式) 1 wait notify ,Object ...
分类:
编程语言 时间:
2015-05-27 18:47:31
阅读次数:
175
生产者消费者模式是并发、多线程编程中经典的设计模式,生产者和消费者通过分离的执行工作解耦,简化了开发模式,生产者和消费者可以以不同的速度生产和消费数据。
真实世界中的生产者消费者模式
生产者和消费者模式在生活当中随处可见,它描述的是协调与协作的关系。比如一个人正在准备食物(生产者),而另一个人正在吃(消费者),他们使用一个共用的桌子用于放置盘子和取走盘子,生产者准备食物,如...
分类:
编程语言 时间:
2015-05-14 18:46:06
阅读次数:
328
事件驱动和状态转移,在很大程度上保证了大型系统的顺利推进。状态转移有如下好处:
状态转移图是可以生成的。在讨论某个功能的时候,可以直接对着图进行讨论
某个状态转移图里面,通过加锁、生产者/消费者模式等方法,可以保证一个时间点只有一个状态转移,进而保证状态的正确性
在进行UT(单元测试)的时候,只需要对每一条转移路径进行测试就好啦
Hadoop也大量采用了这种方法,如MapReduce的状态转移,NM...
分类:
其他好文 时间:
2015-04-15 13:40:15
阅读次数:
178
什么是生产者消费者模式 在工作中,大家可能会碰到这样一种情况:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生...
分类:
其他好文 时间:
2015-03-28 15:55:25
阅读次数:
184
并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— CompletionService : ...
分类:
其他好文 时间:
2015-03-04 18:47:19
阅读次数:
178
我们这里介绍的Producer-Consumer生产者-消费者模式是多线程设计模式中很著名的一个设计模式。说到生产者消费者问题,大部分人都不会陌生,OS课的经典问题,并且其本身就是一个计算机编程中常见的问题。对于它的应用,可以举出无数的例子,小到一个多线程程序对队列的共享互斥操作,大到目前流行的.....
分类:
编程语言 时间:
2015-03-02 16:39:08
阅读次数:
336