1 #-*-coding: UTF-8-*-2 #! /Usr/bin/ENV Python 3 '''4 created on September 2, 2014 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 Application 1