如何等待异步线程执行完成
时间: 2023-07-04 07:04:50 浏览: 43
等待异步线程执行完成可以使用以下方法:
1. 使用asyncio库中的await关键字等待异步任务完成。示例代码如下:
```python
import asyncio
async def my_coroutine():
# 异步任务
await asyncio.sleep(1)
return "Done"
async def main():
# 创建一个异步任务
task = asyncio.create_task(my_coroutine())
# 等待异步任务完成
result = await task
print(result)
asyncio.run(main())
```
2. 使用线程的join()方法等待线程执行完成。示例代码如下:
```python
import threading
def my_function():
# 异步任务
time.sleep(1)
return "Done"
def main():
# 创建一个线程
t = threading.Thread(target=my_function)
# 开始线程执行
t.start()
# 等待线程执行完成
t.join()
print("Thread finished")
main()
```
注意:以上两种方法都需要在异步任务或线程中返回结果才能使用。如果异步任务或线程不返回结果,则需要使用其他方式等待任务或线程完成。