时间:2021-05-22
直接上代码:
复制代码 代码如下:
# -*- 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()
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python自定义线程池实现方法。分享给大家供大家参考,具体如下:关于python的多线程,由与GIL的存在被广大群主所诟病,说python的多线
本文实例讲述了Python线程池模块ThreadPoolExecutor用法。分享给大家供大家参考,具体如下:python3内置的有Threadingpool和
本文实例为大家分享了java线程池实现批量下载文件的具体代码,供大家参考,具体内容如下1创建线程池packagecom.cheng.webb.thread;im
本文实例讲述了c++线程池实现方法。分享给大家供大家参考。具体分析如下:下面这个线程池是我在工作中用到过的,原理还是建立一个任务队列,让多个线程互斥的在队列中取
ThreadPoolExecutor是JDK中的线程池实现,这个类实现了一个线程池需要的各个方法,它提供了任务提交、线程管理、监控等方法。下面是ThreadPo