http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 9642|回复: 0

[Python3教程] Python3教程之多线程使用方法

[复制链接]
发表于 2021-8-21 15:08:18 | 显示全部楼层 |阅读模式
第一步先引用线程插件
[C#] 纯文本查看 复制代码
import _thread


我们这里直接设计一个可以同时开启多个线程,并传参数的方法

先来定义一个方法
[C#] 纯文本查看 复制代码
def getdata(i):
    from urllib.request import urlopen
    for item in range(1, 10):
        myURL = urlopen("http://www.sufeinet.com/")
        html = myURL.read(100)
        print("线程 %d 第 %d 次循环输入内容:%s" % (i, item, html))
    else:
        print("循环结束")


这个方法的意思是执行10次方法网站-http://www.sufeinet.com/并输出前100个字符

下面我们同时开启4个线程来执行它
[C#] 纯文本查看 复制代码
    try:
        for i in range(1, 5):
            time.sleep(1)
            _thread.start_new_thread(getdata, (i,))
            print("线程 %d 启动" % (i))
    except:
        print("Error: 无法启动线程")

    while 1:
        pass


先来看看效果

[C#] 纯文本查看 复制代码
D:\Users\sufei\PycharmProjects\pythonProject\venv\Scripts\python.exe d:/Users/sufei/PycharmProjects/pythonProject/main.py
线程 1 启动
线程 1 第 1 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 2 启动
线程 1 第 2 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 2 第 1 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 1 第 3 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 2 第 2 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 3 启动
线程 1 第 4 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 2 第 3 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 1 第 5 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 3 第 1 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 2 第 4 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 4 启动
线程 2 第 5 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 4 第 1 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 2 第 6 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 2 第 7 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 3 第 2 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 3 第 3 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 1 第 6 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 3 第 4 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 1 第 7 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 1 第 8 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 3 第 5 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 3 第 6 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 2 第 8 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 1 第 9 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
循环结束
线程 3 第 7 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 4 第 2 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 2 第 9 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
循环结束
线程 3 第 8 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 4 第 3 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 3 第 9 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
循环结束
线程 4 第 4 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 4 第 5 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 4 第 6 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 4 第 7 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 4 第 8 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
线程 4 第 9 次循环输入内容:b'\r\n\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8" />\r\n    <meta content="widt'
循环结束


好,细节的我就不多说了,里面用到了一个try except方法,这个和c#里面的try catch差不多的意思



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-10-15 13:28

© 2014-2021

快速回复 返回顶部 返回列表