
在协程里,关于同步的使用还是比较简单的,就是我们在什么情况下会遇到同步问题呢,就是我们在进行一个流程时候,遇到了一个卡口,并且一直需要等待,直到我们第一个流程走完,才可以进行下一个流程,主要就是需要注意下,这个顺序是不能变的,必须得按照顺序去执行,这就是同步。
下面通过一组实例来了解。
这是一组跑步内容,有两名同学,第一个跑完,第二个才能继续跑步。
实现代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import asyncio
import time
import random
async def run(name):
print( "{0} 开始" .format(name))
t = random.randint(2, 10)
await asyncio.sleep(t)
print( "{0} 结束,时长{1}秒" .format(name, t))
async def main():
print( "开始:{0}" .format(time.strftime( '%X' )))
await run( "小华" )
await run( "小米" )
print( "结束:{0}" .format(time.strftime( '%X' )))
asyncio.run(main())
|
最后输出结果:

现在大家明白什么是同步了吧,只要用大白话记住,是需要我们有顺序的进行的,且需要等上一个任务执行完成以后,在接着下一个执行的,就是同步啦~