新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python之a(chǎn)syncio三種應(yīng)用方法
python之a(chǎn)syncio三種應(yīng)用方法:

1、直接使用asyncio.run方法
import asyncio
#第一種
async def aa():
print("我們的門又壞了")
await asyncio.sleep(2)
print("怎么辦啊")
asyncio.run(aa())
2、同步的效果,用await調(diào)用函數(shù)
async def fun1():
print("增強(qiáng)體育鍛煉,提高免疫力")
await asyncio.sleep(3)
print("才能保證身體健康,諸事順利")
async def fun2():
await asyncio.sleep(5)
print("這個(gè)周末天氣不錯(cuò)")
await asyncio.sleep(8)
print("可是你就是不想出去")
async def min():
await fun1()
await fun2()if __name__ == "__main__":
asyncio.run(min())
3、創(chuàng)建任務(wù)(asyncio.create_task),并發(fā)運(yùn)行任務(wù)(await asyncio.gather)
arr = []
async def produce():
for i in range(100):
await asyncio.sleep(1)
arr.append(i)
print("小明放了一個(gè)魚丸,現(xiàn)在鍋里還有%s個(gè)魚丸"%len(arr))
async def consumer():
while True:
await asyncio.sleep(2) #很關(guān)鍵
if len(arr)>=10: #各一個(gè)判斷條件
arr.pop()
print("mony吃了一個(gè)魚丸,現(xiàn)在鍋里還有%s個(gè)魚丸"%len(arr))
async def main():
t1 = asyncio.create_task(produce()) #創(chuàng)建任務(wù)
t2 = asyncio.create_task(consumer())
await asyncio.gather(t1,t2) #并發(fā)運(yùn)行任務(wù)asyncio.run(main()) #調(diào)用函數(shù)main() 分享名稱:創(chuàng)新互聯(lián)Python教程:python之a(chǎn)syncio三種應(yīng)用方法
網(wǎng)頁鏈接:http://fisionsoft.com.cn/article/dhoidoi.html


咨詢
建站咨詢
