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中使用pyhook实现键盘监控的例子
Jul 18 Python
python处理PHP数组文本文件实例
Sep 18 Python
python黑魔法之编码转换
Jan 25 Python
python如何查看系统网络流量的信息
Sep 12 Python
Pandas中把dataframe转成array的方法
Apr 13 Python
Python如何获得百度统计API的数据并发送邮件示例代码
Jan 27 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
Jun 04 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
May 29 Python
python实现一次性封装多条sql语句(begin end)
Jun 06 Python
只用40行Python代码就能写出pdf转word小工具
May 31 Python
Django模型层实现多表关系创建和多表操作
Jul 21 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
Apr 13 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实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
javascript 树形导航菜单实例代码
2013/08/13 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
详解如何用VUE写一个多用模态框组件模版
2018/09/27 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
[01:29]Ti4循环赛第三日精彩回顾
2014/07/13 DOTA
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
python实现对一个完整url进行分割的方法
2015/04/29 Python
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
hmac模块生成加入了密钥的消息摘要详解
2018/01/11 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
Python中print和return的作用及区别解析
2019/05/05 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
幼儿园开学家长寄语
2014/01/19 职场文书
有关环保的标语
2014/06/13 职场文书
实习护士自荐信
2015/03/25 职场文书
职场干货:简历中的自我评价应该这样写!
2019/05/06 职场文书