python测试框架让case并发执行_python多线程并发及测试框架案例

本文介绍了一种利用Python的threading模块实现多线程并发执行的方法,通过将任务拆分成多个线程组并行处理,有效减少了并发执行的时间差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import threading

from datetime import *

from time import sleep

# 单线程执行

def test():

print('hello world')

t = threading.Thread(target=test)

t.start()

# 多线程执行

def test_01():

sleep(1)

x = 0

while x == 0: # 设置一个死循环

print(datetime.now()) # 获取当前系统时间

def looptest():

'''

循环20次执行 test_o1()函数

:return:

'''

for i in range(20):

test_01()

def thd():

'''

创建并执行多个线程

需求:并发执行50次 test_o1()函数

说明:把50的并发拆成25个线程组,每个线程再循环20次执行 test_o1()函数,这样在启动下一个线程的时候,

上一个线程已经在循环了,以此类推,当启动第25个线程的时候,可能已经执行了200次的t est_o1()函数,

这样就可以大大减少并发的时间差异

:return:

'''

Threads = [] for i in range(25):

th = threading.Thread(target=looptest)

Threads.append(th)

'''

守护线程:主线程执行完毕之后,会等待子线程全部执行完毕,才会关闭结束程序

必须加在start()之前,默认为 false

'''

th.setDaemon(True)

for th in Threads:

th.start()

for th in Threads:

'''

阻塞线程:等主线程执行完毕之后再关闭所有子线程

必须加在start()之后

可以通过join()的timeout参数来完美解决相互等待的问题,子线程告诉主线程让其等待0.04秒,

0.04秒之内子线程完成,主线程就继续往下执行,0.04秒之后如果子线程还未完成,主线程也会

继续往下执行,执行完成之后关闭子线程

'''

th.join(0.04)

if __name__=="__main__":

print('start')

thd()

print('end')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值