python线程池的实现实例


Posted in Python onNovember 18, 2013

直接上代码:

# -*- 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()
Python 相关文章推荐
Python 自动刷博客浏览量实例代码
Jun 14 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
Dec 16 Python
Python中捕获键盘的方式详解
Mar 28 Python
Python:Numpy 求平均向量的实例
Jun 29 Python
详解Python并发编程之从性能角度来初探并发编程
Aug 23 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
Sep 05 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
Mar 18 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
matplotlib教程——强大的python作图工具库
Oct 15 Python
Python OpenCV中的numpy与图像类型转换操作
Dec 11 Python
Python常用配置文件ini、json、yaml读写总结
Jul 09 Python
python批量导出导入MySQL用户的方法
Nov 15 #Python
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 #Python
python实现代理服务功能实例
Nov 15 #Python
Python(Tornado)模拟登录小米抢手机
Nov 12 #Python
Python3实现的腾讯微博自动发帖小工具
Nov 11 #Python
python正则分组的应用
Nov 10 #Python
python Django连接MySQL数据库做增删改查
Nov 07 #Python
You might like
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
DHTML 中的绝对定位
2006/11/26 Javascript
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
2011/08/28 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
vue-router项目实战总结篇
2018/02/11 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
python调用新浪微博API项目实践
2014/07/28 Python
python3对接mysql数据库实例详解
2019/04/30 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
python线程中的同步问题及解决方法
2019/08/29 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
Python数据存储之 h5py详解
2019/12/26 Python
3种python调用其他脚本的方法
2020/01/06 Python
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
C#面试题
2016/05/06 面试题
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
租房协议书范本
2014/04/09 职场文书
团结演讲稿范文
2014/05/23 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android