多线程的简单例子

如何使用 Python 线程

# 1. 待线程执行的函数
def print_hi(name):
    print(f'Hi, {name}')


import threading

if __name__ == '__main__':
    # 2. 创建线程,传入函数名和参数
    t = threading.Thread(target=print_hi, args=("小菠萝",))
    # 3. 启动线程
    t.start()
    # 4. 等待线程结束
    t.join()

简单的多线程 🌰

import threading
import requests
import time

# 待爬取的 url 数组,有 50 个链接
urls = [
    f"https://www.cnblogs.com/#p{page}"
    for page in range(1, 50)
]

# 待线程调用的函数
def craw(url):
    r = requests.get(url)
    print(url, len(r.text))

# 单线程执行方式
def single_thread():
    for url in urls:
        craw(url)

# 多线程执行方式
def multi_thread():
    threads = []
    for url in urls:
        t = threading.Thread(target=craw, args=(url,))
        threads.append(t)

    for t in threads:
        t.start()

    for t in threads:
        t.join()


if __name__ == '__main__':
    # 计算单线程耗时
    start = time.time()
    single_thread()
    end = time.time()
    print(f"single time is {end-start}")
	
    # 计算多线程耗时
    start = time.time()
    multi_thread()
    end = time.time()
    print(f"single time is {end-start}")

运算结果

https://www.cnblogs.com/#p1 70017
https://www.cnblogs.com/#p2 70017
https://www.cnblogs.com/#p3 70017
https://www.cnblogs.com/#p4 70017
https://www.cnblogs.com/#p5 70017
https://www.cnblogs.com/#p6 70017
https://www.cnblogs.com/#p7 70017
https://www.cnblogs.com/#p8 70017
https://www.cnblogs.com/#p9 70017
https://www.cnblogs.com/#p10 70017
https://www.cnblogs.com/#p11 70017
https://www.cnblogs.com/#p12 70017
https://www.cnblogs.com/#p13 70017
https://www.cnblogs.com/#p14 70017
https://www.cnblogs.com/#p15 70017
https://www.cnblogs.com/#p16 70017
https://www.cnblogs.com/#p17 70017
https://www.cnblogs.com/#p18 70017
https://www.cnblogs.com/#p19 70017
https://www.cnblogs.com/#p20 70017
https://www.cnblogs.com/#p21 70017
https://www.cnblogs.com/#p22 70017
https://www.cnblogs.com/#p23 70017
https://www.cnblogs.com/#p24 70017
https://www.cnblogs.com/#p25 70017
https://www.cnblogs.com/#p26 70017
https://www.cnblogs.com/#p27 70017
https://www.cnblogs.com/#p28 70017
https://www.cnblogs.com/#p29 70017
https://www.cnblogs.com/#p30 70017
https://www.cnblogs.com/#p31 70017
https://www.cnblogs.com/#p32 70017
https://www.cnblogs.com/#p33 70017
https://www.cnblogs.com/#p34 70017
https://www.cnblogs.com/#p35 70017
https://www.cnblogs.com/#p36 70017
https://www.cnblogs.com/#p37 70017
https://www.cnblogs.com/#p38 70017
https://www.cnblogs.com/#p39 70017
https://www.cnblogs.com/#p40 70017
https://www.cnblogs.com/#p41 70017
https://www.cnblogs.com/#p42 70017
https://www.cnblogs.com/#p43 70017
https://www.cnblogs.com/#p44 70017
https://www.cnblogs.com/#p45 70017
https://www.cnblogs.com/#p46 70017
https://www.cnblogs.com/#p47 70017
https://www.cnblogs.com/#p48 70017
https://www.cnblogs.com/#p49 70017
single time is 7.898861885070801
https://www.cnblogs.com/#p3 70017
https://www.cnblogs.com/#p5 70017
https://www.cnblogs.com/#p2 70017
https://www.cnblogs.com/#p8 70017
https://www.cnblogs.com/#p11 70017
https://www.cnblogs.com/#p6 70017
https://www.cnblogs.com/#p9 70017
https://www.cnblogs.com/#p4 70017
https://www.cnblogs.com/#p10 70017
https://www.cnblogs.com/#p1 70017
https://www.cnblogs.com/#p7 70017
https://www.cnblogs.com/#p28 70017
https://www.cnblogs.com/#p13 70017
https://www.cnblogs.com/#p44 70017
https://www.cnblogs.com/#p40 70017
https://www.cnblogs.com/#p35 70017
https://www.cnblogs.com/#p43https://www.cnblogs.com/#p27 70017
 https://www.cnblogs.com/#p31 70017
70017
https://www.cnblogs.com/#p18 70017https://www.cnblogs.com/#p15 70017
https://www.cnblogs.com/#p19 70017https://www.cnblogs.com/#p41 70017

https://www.cnblogs.com/#p46 70017
https://www.cnblogs.com/#p49 70017https://www.cnblogs.com/#p20 

70017
https://www.cnblogs.com/#p22 70017
https://www.cnblogs.com/#p29 70017
https://www.cnblogs.com/#p38 70017https://www.cnblogs.com/#p42 70017

https://www.cnblogs.com/#p23 70017
https://www.cnblogs.com/#p45 70017
https://www.cnblogs.com/#p48 70017
https://www.cnblogs.com/#p37 70017https://www.cnblogs.com/#p30 70017

https://www.cnblogs.com/#p14https://www.cnblogs.com/#p34 70017
https://www.cnblogs.com/#p16 70017
https://www.cnblogs.com/#p21 70017
 70017
https://www.cnblogs.com/#p24 70017
https://www.cnblogs.com/#p39 70017https://www.cnblogs.com/#p47 70017
https://www.cnblogs.com/#p36 70017
https://www.cnblogs.com/#p17 70017

https://www.cnblogs.com/#p26 70017
https://www.cnblogs.com/#p33 70017
https://www.cnblogs.com/#p25 70017
https://www.cnblogs.com/#p12 70017
https://www.cnblogs.com/#p32 70017
single time is 0.6159660816192627
  • 单线程花了 7.9s,多线程仅花了 0.62s

  • 需要注意,多线程并不是按顺序执行的

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值