【发布时间】:2019-09-25 02:42:55
【问题描述】:
我想在 python 中使用异步,如 c# 或 javascript。例如,我希望我的程序在发送请求时不要阻止下一个代码或应用程序中的按钮。我为此编写了一些代码。但是我不知道这种用法是否是真还是假。我看不懂asyncio
import asyncio
import threading
import time
async def waitForMe(name):
for i in range(5):
await asyncio.sleep(1)
print(name)
async def main():
task1 = asyncio.create_task(waitForMe("task1"))
task2 = asyncio.create_task(waitForMe("task2"))
task3 = asyncio.create_task(waitForMe("task3"))
await task1
await task2
await task3
def mfunction():
asyncio.run(main())
t1=threading.Thread(target=mfunction)
t1.start()
for i in range(3):
time.sleep(1)
print("main")
【问题讨论】:
-
你到底在问什么?
-
请参阅 [this 优秀的 asyncio 介绍](realpython.com/async-io-python)。
-
所以如果我在这里不使用线程,"print(main)" 等待结束任务。不是吗?我不想要这个
-
promise1.then(onfullfilledfunction=function(value) { console.log(value); }).catch(onrejected=function(error){ console.log(error) }); setInterval(function(){ console.log("not block") },1000);我可以说我在 python 中搜索相同的代码
标签: python multithreading python-asyncio