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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
测试、预发布后用python检测网页是否有日常链接
Jun 03 Python
Python实现文件复制删除
Apr 19 Python
简单谈谈Python中的反转字符串问题
Oct 24 Python
node.js获取参数的常用方法(总结)
May 29 Python
在pycharm 中添加运行参数的操作方法
Jan 19 Python
django如何实现视图重定向
Jul 24 Python
Python线程threading模块用法详解
Feb 26 Python
Opencv python 图片生成视频的方法示例
Nov 18 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
Jan 27 Python
如何用用Python将地址标记在地图上
Feb 07 Python
Python与C++中梯度方向直方图的实现
Mar 17 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
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
PHP计数器的实现代码
2013/06/08 PHP
PHP获取MAC地址的具体实例
2013/12/13 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
Yii框架安装简明教程
2020/05/15 PHP
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
2014/12/20 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
jquery中有哪些api jQuery主要API
2017/11/20 jQuery
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
python装饰器常见使用方法分析
2019/06/26 Python
python中的itertools的使用详解
2020/01/13 Python
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
医生自荐信
2013/10/11 职场文书
小学教师的个人自我鉴定
2013/10/26 职场文书
2014信息公开实施方案
2014/02/22 职场文书
出纳会计岗位职责
2014/03/12 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
团组织推优材料
2014/12/29 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers