协程,又称微线程,Coroutine。协程的作用,是在执行函数A时,可以随时中断,去执行函数B,然后中断继续执行函数A(可以自由切换)。但是协程只有一个线程执行。python属于解释型语言(逐句执行),在特定场景下同步执行会造成阻塞(执行不下去),所以要引入异步执行(多条通道完成语言的解释)。
协程的使用不难,但是要真正掌握协程是非常困难的。本文将例举三种使用协程的方法,希望能够让更多的测试人能够使用上异步来提高测试效率,解决堵塞问题。有什么不懂的可以留言。
协程官方文档
第一种:
import asyncio
import time
async def test(sec, testNumber):
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())) #动作1
await asyncio.sleep(sec) #动作2
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()), testNumber) #动作3
async def main():
task0 = asyncio.create_task(test(1, 0))
task1 = asyncio.create_task(test(10, 1))
await task0