思路 生产者和消费者(互斥与同步)。资源用队列模拟(要上锁,一个时间只能有一个线程操作队列)。 m个生产者。拿到锁,且产品不满,才能生产。当产品满,则等待,等待消费者唤醒。当产品由空到不空,通知消费者。n个消费者。拿到锁,且有产品,才能消费。当产品空,则等待,等待生产者唤醒。当产品由满到不满,通知生...
分类:
编程语言 时间:
2014-08-27 01:31:26
阅读次数:
380
Java自定义一个线程安全的有界阻塞缓存队列,实现生产者消费者问题。
分类:
编程语言 时间:
2014-08-26 13:32:06
阅读次数:
162
System V Message queue 是一种进程通信(IPC)的方式,方便实现生产者-消费者模型,单个或多个生产者向队列中写入消息,多个生产者再从队列中获取消息进行处理。
项目地址:https://github.com/huyanping/Zebra-PHP-Framework
该Wrapper支持:
进程通信
设置最大队列容量(字节单位)
获取当前队列数量
修改队列部分属性...
分类:
Web程序 时间:
2014-08-22 17:56:59
阅读次数:
180
基础篇:操作系统、计算机网络、设计模式一:操作系统1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)5. 线程的实现方式. (也就是用户线程与内核线程的区别)6. 用户态和核...
分类:
系统相关 时间:
2014-08-21 18:53:14
阅读次数:
347
今天来介绍一下“Protocol Buffers”(以下简称protobuf)这个玩意儿。本来俺在构思“生产者/消费者模式 ”系列的下一个帖子:关于生产者和消费者之间的数据传输格式。由于里面扯到了protobuf,想想干脆单独开一个帖子算了。 ★protobuf是啥玩意儿? 为了照顾从没听说...
分类:
其他好文 时间:
2014-08-20 15:48:52
阅读次数:
145
在实际的开发中我们为了提高CPU的利用率,也提高程序的执行效率,我们经常使用多线程进行对数据进行并发处理,下面我举一个多线程并发执行的实例,大致意思就是
一个简单的生产者消费者模式,二个线程进行存数据,一个线程进行取数据。
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQu...
分类:
编程语言 时间:
2014-08-20 00:04:05
阅读次数:
162
马士兵老师的生产者消费者模型,我感觉理解了生产者消费者模型,基本懂了一半多线程。public class ProducerConsumer { public static void main(String[] args) { SyncStack ss = new SyncStac...
分类:
编程语言 时间:
2014-08-15 19:16:09
阅读次数:
185
下面是一个生产者消费者问题,来介绍condition_variable的用法。当线程间的共享数据发生变化的时候,可以通过condition_variable来通知其他的线程。消费者wait 直到生产者通知其状态发生改变,Condition_variable是使用方法如下:·当持有锁之后,线程调用wa...
分类:
编程语言 时间:
2014-08-13 00:55:04
阅读次数:
341
*java多线程--等待唤醒机制:经典的体现"生产者和消费者模型*对于此模型,应该明确以下几点:*1.生产者仅仅在仓库未满的时候生产,仓库满了则停止生产。*2.消费者仅仅在有产品的时候才能消费,仓空则等待。*3.当消费者发现仓储没有产品可消费的时候,会唤醒等待生产者生产。*4.生产者在生产出可以消费...
分类:
编程语言 时间:
2014-08-11 00:02:21
阅读次数:
665
操作系统:1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)5. 线程的实现方式. (也就是用户线程与内核线程的区别)6. 用户态和核心态的区别。7. 用户栈和内核栈的区别。...
分类:
其他好文 时间:
2014-08-10 12:40:50
阅读次数:
278