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, empty 8 Import Random 9 10 links = Queue (maxsize = 5) 11 12 def downloader (pthread): 13 try: 14 While true: 15 link = links. get () 16 gevent. sleep (random. randint (1, 6) * 0.001) 17 print ("% s: % s has been downloaded! "% (Pthread, link) 18 bytes t empty: 19 print (" has no picture link in queue! All done! ") 20 21 def getlinks (): 22 for I in xrange (1,500): 23 links. put ("http://baidu.com/%s.jpg" % I) 24 print ("assigned all work in iteration 1") 25 26 27 28 pthreads = [gevent. spawn (downloader, "pthread % s" % I) for I in xrange (10)] 29 30 # gevent. spawn (getlinks ). join () # Why is an error reported? 31 # gevent. joinall (pthreads) 32 33 gevent. joinall ([gevent. spawn (getlinks)]. Extend (pthreads ))
The maximum number of gevent queue Application 2 queues is set