生产消费者模式
来源:互联网 发布:nginx css 不显示 编辑:程序博客网 时间:2024/04/29 07:18
#!/usr/bin/env python# -*- coding: utf-8 -*-import threadingfrom time import ctimefrom random import randintfrom time import sleepfrom Queue import Queueclass CThread(threading.Thread): def __init__(self, func, args, name=''): threading.Thread.__init__(self) self.name = name self.func = func self.args = args def get_result(self): return self.res def run(self): print '%s starting at %s.' % (self.name, ctime()) self.res = apply(self.func, self.args) print '%s finished at %s.' % (self.name, ctime()) def writeQ(queue): print 'producing object for Q ...' queue.put('item', 1) print 'queue size now %d' % queue.qsize() def readQ(queue): val = queue.get(1) print 'consumed object from Q ... size now %d.' % queue.qsize() def writer(queue, loops): for i in range(loops): writeQ(queue) sleep(randint(1, 3)) def reader(queue, loops): for i in range(loops): readQ(queue) sleep(randint(2, 5)) def main(): funcs = [writer, reader] nfuncs = range(len(funcs)) nloops = randint(2, 5) q = Queue(32) threads = [] for i in nfuncs: t = CThread(funcs[i], (q, nloops), funcs[i].__name__) threads.append(t) for i in nfuncs: threads[i].start() for i in nfuncs: threads[i].join() print "all task DONE" if __name__ == '__main__': main()
0 0
- 生产消费者模式
- 生产消费者模式
- 生产消费者模式
- 生产消费者模式
- 消费者生产模式
- 生产、消费者模式
- 生产、消费者模式
- 生产消费者模式
- 生产消费者模式
- java生产消费者模式
- 生产消费者模式
- 设计模式-生产消费者模式
- 深入理解生产消费者模式
- JAVA-16.2-生产消费者模式
- 生产——消费者模式
- 生产消费者模式(并发模式)
- 设计模式——生产消费者模式
- 线程间的通信-生产消费者模式
- 测试新浪微博@小冰 为代码机器人的一些方法
- Math常用方法
- 增加DataWindow .Net控件到Microsoft Visual Studio 工具箱的办法
- 安全的网络通道——网络准入之三层准入
- vb format函数
- 生产消费者模式
- 网页中的信息排序信息显示
- Android activity之间数据传递和共享的方式之Application
- 逻辑运算指令
- 学习笔记——精通正则表达式
- CentOS6.4下Mysql数据库的安装与配置
- ServletRequest和ServletResponse接口方法汇总
- jsp连接MySQL数据库
- MOV、LDR加载指令和LDR伪指令的区别