在协程里,关于同步的使用还是比较简单的,就是我们在什么情况下会遇到同步问题呢,就是我们在进行一个流程时候,遇到了一个卡口,并且一直需要等待,直到我们第一个流程走完,才可以进行下一个流程,主要就是需要注意下,这个顺序是不能变的,必须得按照顺序去执行,这就是同步。
下面通过一组实例来了解。
这是一组跑步内容,有两名同学,第一个跑完,第二个才能继续跑步。
实现代码如下:
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())
最后输出结果:
现在大家明白什么是同步了吧,只要用大白话记住,是需要我们有顺序的进行的,且需要等上一个任务执行完成以后,在接着下一个执行的,就是同步啦~
苹果芯片加持下PyTorch如何利用GPU和NPU?
NumPy保存和加载数据时如何处理None值?
遇到Python读取Excel测试用例时出现“list index out of range”错误,可以按照以下步骤解决:检查Excel文件内容:确保Excel文件中的数据完整且格式正确。错误常见于尝试访问不存在的列表索引,因此确认每一行都有足够的数据。查看代码逻辑:检查读取Excel文件的代码,特别是涉及到列表索引的部分。确保你访问的索引在列表的有效范围内。例如,如果列表长度为5,索引只能从0到4。调试代码:在可能出错的地方添加打印语句或使用调试器,查看变量的值和列表的长度,确保你在正确的位置访问正确的
微信扫码后小窗口变空白?解决方法在这里!
TCP端口占用:服务端程序退出后,端口为何依然被占用且如何解决?
初学者 Python 项目:使用 OpenCV 和 Mediapipe 构建增强现实绘图应用程序