########################################################
# 同步:线程执行
# import time
#
# def dm01():
# print("1")
# time.sleep(3) # 真的要休眠3秒钟
# print("2")
#
#
# def dm02():
# print("3")
# time.sleep(3) # 真的要休眠3秒钟
# print("4")
#
#
# start_time = time.time()
# dm01()
# dm02()
# end_time = time.time()
# spend_time = end_time - start_time
# print("spend_time-->", spend_time)
########################################################
# 异步:协程执行
import time
# io:input-output,输入输出
# 同步/异步
# 同步:同频
# 异步:不同频。
# 举例:外卖(送你手上就是同步,放到外卖架上就是异步)
# 协程:让程序等待的时候去干别的事(提升效率)。
# 应用场景:在一些IO密集型任务中使用。
# IO密集型任务:文件上传,下载,读取等。
import asyncio
async def dm01():
print("1")
await asyncio.sleep(3) # 休眠3秒钟,但是不是一直等待,而是在这休眠期间可以干别的事
print("2")
async def dm02():
print("3")
await asyncio.sleep(3) # 休眠3秒钟,但是不是一直等待,而是在这休眠期间可以干别的事
print("4")
async def dm03():
start_time = time.time()
# 方式二
await asyncio.gather(dm01(),dm02())
# 方式一
# t1 = asyncio.create_task(dm01())
# t2 = asyncio.create_task(dm02())
# await t1
# await t2
end_time = time.time()
spend_time = end_time - start_time
print("spend_time-->", spend_time)
asyncio.run(dm03())