python线程池的小例子

发布时间:2019-07-29编辑:脚本学堂
在python编程中,学习使用与操作python的线程池,是个很大的进步,本文就为大家分享一例python线程池的代码,感兴趣的朋友可以参考下。

本节内容:
python线程池

例子:
 

复制代码 代码示例:

#!/usr/bin/python
#
#site: www.jb200.com
# python 线程池
# -*- coding: utf-8 -*-
import Queue
import threading
import urllib
import urllib2
import os
def down(url,n):
    print 'item '+str(n)+' start '
    filename=urllib2.unquote(url).decode('utf8').split('/')[-1]
    urllib.urlretrieve(url, filename)
    print 'item '+str(n)+' finish '

def worker():
    while True:
        i = q.get()
        url=i[0]
        n=i[1]
        down(url,n)
        q.task_done()

if __name__=="__main__":
    num_worker_threads=100
    f=open('url.txt')
    l=f.readlines()
    q = Queue.Queue()
    for i in range(num_worker_threads):
        t = threading.Thread(target=worker)
        t.daemon = True
        t.start()
    for i in range(0,len(l)):
        q.put((l[i],i))
    q.join()