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 time
10
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)