python并发测试脚本_python多线程并发及测试框架案例

这篇文章主要介绍了python多线程并发及测试框架案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1、循环创建多个线程,并通过循环启动执行

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')

2、并发测试框架

# 并发测试框架

THREAD_NUM = 1

ONE_WORKER_NUM = 1

def test():

pass # 测试代码

def working():

global ONE_WORKER_NUM

for i in range(0, ONE_WORKER_NUM):

test()

def t():

global THREAD_NUM

Threads = []

for i in range(THREAD_NUM):

t = threading.Thread(target=working,name='T'+str(i))

t.setDaemon(True)

Threads.append(t)

for t in Threads:

t.start()

for t in Threads:

t.join()

if __name__=="__main__":

t()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值