当前位置 博文首页 > python线程池的实现实例

    python线程池的实现实例

    作者:admin 时间:2021-02-17 15:01

    直接上代码:

    复制代码 代码如下:

    # -*- 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()

    js
    下一篇:没有了