首页 > 代码库 > gevent queue应用1

gevent queue应用1

 1 # -*- coding:utf-8 -*- 2 #! /usr/bin/env python 3 ‘‘‘ 4 Created on 2014年9月2日 5 ‘‘‘ 6 import gevent 7 from gevent.queue import Queue 8 import random 9 from time import time10 11 start = time()12 13 links = Queue()14 15 def downloader(pthread):16     while not links.empty():17         link = links.get()18         gevent.sleep(random.randint(1,3))19         print("%s: picture %s has been downloaded!" % (pthread,link))20     print("%s‘s mm has been downloaded!" % pthread)21 22 def getLinks():23     for i in xrange(1,50):24         links.put_nowait("http://baidu.com/%s.jpg" % i)25 26 gevent.spawn(getLinks).join()27 28 gevent.joinall([29     gevent.spawn(downloader,pThread1),30     gevent.spawn(downloader,pThread2),31     gevent.spawn(downloader,pThread3),32     gevent.spawn(downloader,pThread4),33     gevent.spawn(downloader,pThread5),34     gevent.spawn(downloader,pThread6),35 ])36 37 end = time()38 39 print("cost of time:",end-start)

 

gevent queue应用1