#!/usr/bin/env python import Queue import threading import time queue = Queue.Queue() class ThreadNum(threading.Thread): """没打印一个数字等待1秒,并发打印10个数字需要多少秒?""" def __init__(self, queue): threading.Thread.__init__(self) self.queue = queue def run(self): whileTrue: #消费者端,从队列中获取num num = self.queue.get() print"i'm num %s"%(num) time.sleep(1) #在完成这项工作之后,使用 queue.task_done() 函数向任务已经完成的队列发送一个信号 self.queue.task_done() start = time.time() def main(): #产生一个 threads pool, 并把消息传递给thread函数进行处理,这里开启10个并发 for i in range(10): t = ThreadNum(queue) t.setDaemon(True) t.start() #往队列中填错数据 for num in range(10): queue.put(num) #wait on the queue until everything has been processed queue.join() main() print"Elapsed Time: %s" % (time.time() - start)
i'm num 0 i'm num 1 i'm num 2 i'm num 3 i'm num 4 i'm num 5 i'm num 6 i'm num 7 i'm num 8 i'm num 9 Elapsed Time: 1.01399993896
#!/usr/bin/env python
import Queue
import threading
import time
queue = Queue.Queue()
out_queue = Queue.Queue()
class ThreadNum(threading.Thread):
"""bkeep"""
def __init__(self, queue, out_queue):
threading.Thread.__init__(self)
self.queue = queue
self.out_queue = out_queue
def run(self):
whileTrue:
#从队列中取消息
num = self.queue.get()
bkeep = num
#将bkeep放入队列中
self.out_queue.put(bkeep)
#signals to queue job is done
self.queue.task_done()
class PrintLove(threading.Thread):
"""Threaded Url Grab"""
def __init__(self, out_queue):
threading.Thread.__init__(self)
self.out_queue = out_queue
def run(self):
whileTrue:
#从队列中获取消息并赋值给bkeep
bkeep = self.out_queue.get()
keke = "I love " + str(bkeep)
print keke,
print self.getName()
time.sleep(1)
#signals to queue job is done
self.out_queue.task_done()
start = time.time()
def main():
#populate queue with data
for num in range(10):
queue.put(num)
#spawn a pool of threads, and pass them queue instance
for i in range(5):
t = ThreadNum(queue, out_queue)
t.setDaemon(True)
t.start()
for i in range(5):
pl = PrintLove(out_queue)
pl.setDaemon(True)
pl.start()
#wait on the queue until everything has been processed
queue.join()
out_queue.join()
main()
print"Elapsed Time: %s" % (time.time() - start)
I love 0 Thread-6 I love 1 Thread-7 I love 2 Thread-8 I love 3 Thread-9 I love 4 Thread-10 I love 5 Thread-7 I love 6 Thread-6 I love 7 Thread-9 I love 8 Thread-8 I love 9 Thread-10 Elapsed Time: 2.00300002098
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有