python线程池的实现实例

时间:2022-11-21 11:24:27 

直接上代码:


# -*- 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,线程池
0
投稿

猜你喜欢

  • 详解Pycharm与anaconda安装配置指南

    2022-09-24 01:51:45
  • JS实现点击li标签弹出对应的索引功能【案例】

    2024-04-17 10:24:23
  • pandas按条件筛选数据的实现

    2021-10-04 03:07:54
  • Python中print()函数的用法详情

    2021-01-11 21:35:17
  • Python3 Loguru输出日志工具的使用

    2021-11-18 04:28:29
  • Python使用poplib模块和smtplib模块收发电子邮件的教程

    2023-11-02 14:58:34
  • 浅谈如何重构冗长的Python代码

    2021-11-13 05:48:27
  • 一文教你用python编写Dijkstra算法进行机器人路径规划

    2021-09-16 21:09:28
  • php 生成短网址原理及代码

    2023-10-23 05:04:25
  • C#使用ADO.Net连接数据库与DbProviderFactory实现多数据库访问

    2024-01-24 08:56:29
  • python爬虫筛选工作实例讲解

    2023-12-01 19:59:26
  • JS中的算法与数据结构之集合(Set)实例详解

    2024-04-16 09:28:34
  • Selenium 滚动页面至元素可见的方法

    2022-06-01 14:01:05
  • Vue + iView实现Excel上传功能的完整代码

    2024-05-29 22:43:13
  • python实现车辆跟随滑模控制的实例

    2022-10-16 10:22:25
  • python实现simhash算法实例

    2023-11-02 23:26:30
  • SqlServer中的日期与时间函数

    2011-11-03 17:12:34
  • Go语言流程控制详情

    2023-10-16 13:16:24
  • Sql Server基本函数

    2008-08-20 18:28:00
  • pycharm from lxml import etree标红问题及解决

    2021-12-10 05:55:38
  • asp之家 网络编程 m.aspxhome.com