#!/usr/bin/python
import threading
from time import ctime, sleep
from Queue import Queue
from random import randint
class WadeThread(threading.Thread):
def __init__(self, func, args, name=''):
threading.Thread.__init__(self)
self.name = name
self.func = func
self.args = args
def getResult(self):
return self.result
def run(self):
print 'starting', self.name, 'at:', ctime()
self.result = apply(self.func, self.args)
print self.name, 'finished at:', ctime()
def produce(queue, loops):
for i in range(loops):
sleep(randint(0, 2))
queue.put('192.168.102.x', 1)
print 'producing object for Q... size now', queue.qsize()
def consume(queue, loops):
for i in range(loops):
sleep(randint(2, 5))
o = queue.get(1)
print 'consumed object from Q... size now', queue.qsize()
funcs = [produce, consume]
def main():
q = Queue(1000)
threads = []
for i in range(len(funcs)):
t = WadeThread(funcs[i], (q, 10))
threads.append(t)
for i in range(len(funcs)):
threads[i].start()
for i in range(len(funcs)):
threads[i].join()
if __name__ == '__main__':
main()
分享到:
相关推荐
用java多线程简易实现生产者消费者模式的代码,用java多线程简易实现生产者消费者模式的代码。
设计目的:通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制。说明:有界缓冲区内设有20 个存储单元,放入/取出的数据项设定为1‐20 这20 个整型数。设计要求:1)每个生产者和消费者对有界缓冲区...
利用Java多线程实现的操作系统的生产者与消费者算法,主要用到了线程的同步,等待与唤醒操作。
Rabbitmq的简单实现,包含生产者和消费者,区分不同的类进行实现,并通过Java方式启动
是基于c语言的生产者与消费者的实现,实现简单,是在dos环境下实现的
用C-Free5软件写的,主函数为Int类型。在其他软件上可能要改成void,算法方面没有什么问题。如果要缓冲池满就把生产者M1的数改的比消费者M2的高,要缓冲池空则相反。
os2操作系统内核实验的生产者消费者的实验报告
生产者消费者实现代码,简单的java实现的多生产者,多消费者代码。
用同步对象、自定义计数信号量等四种方法实现生产者消费者共享有限缓冲区问题Vc++源代码。问题描述:一些生产者线程各自找出自己要搜索的范围内的素数,并放到一个有限缓冲区——数组中,另一些消费者线程线程将数组...
生产消费者问题是操作系统设计中经常遇到的问题。多个生产者和消费者线程访问在共享内存中的环形缓冲。生产者生产产品并将它放入环形缓冲,同时消费者从缓冲中取出产品并消费。当缓冲区满时生产者阻塞并且当缓冲区...
一、 课程设计目的 在多道程序环境下,进程同步问题十分重要,通过解决“生产者-消费者”问题,可以帮助我们更...为了使本系统以更加简单、直观的形式把“消费者-生产者”问题表现出来,我选择了使 用可视化界面编程。
内容概要:操作系统实验,前端 vue3 + vite3 + pinia + ant design vue实现简易的生产者消费者模型,可以通过输入表单的形式手动调节生产者的消费速率和消费者的消费速率的形式,实现生产者消费者模型的可视化效果。...
利用标准C++简单实现的生产者与消费者的程序,简单模拟了生产产品和消费产品,希望对有需要的大家能够有一点点帮助.........
java 多线程 生产者消费者...BlockingQueue实现,解决了待生产的任务生产完成后,正常终止所有线程,避免线程(特别是消费者线程)因阻塞而无限等待的情况。源码中还简单介绍了如何重载equals及hashCode。适合初学线程者
用到互斥锁和多线程,实现简单,易于理解。。。
经典的操作系统生产者消费者问题,大多数都是控制台实现,我用的mfc实现了界面操作,结果操作简单易懂。不明白的可以问我-合工大07-3刘俊杰 mylioujunjie@163.com
当生产者向缓冲区放入了一个数据,应唤醒正在等待的消费者进程,同样,当消费者取走一个数据后,应唤醒正在等待的生产者进程。就是生产者和消费者之间的同步。 每次写入和读出数据时,都将读和写指针加一。当读写...
生产者消费者问题 mfc编写 利用信号量机制 计算机操作系统
常见:简单实现生产者、消费者模型1
用MFC写的多线程同步,实现生产者与消费者问题,有简单的界面。