Python 异步读写列表
时间: 2023-10-30 12:21:11 浏览: 175
在 Python 中,可以使用 asyncio 库来实现异步读写列表。这里提供一个示例代码:
```python
import asyncio
async def main():
# 创建一个空的列表
my_list = []
# 添加元素到列表
for i in range(10):
my_list.append(i)
# 异步读取列表元素
tasks = []
for i in range(len(my_list)):
tasks.append(asyncio.create_task(read_list(my_list, i)))
# 等待所有任务完成
await asyncio.gather(*tasks)
async def read_list(my_list, index):
# 读取列表元素
print(f"Reading index {index}: {my_list[index]}")
if __name__ == "__main__":
asyncio.run(main())
```
在上面的代码中,首先创建一个空的列表 `my_list`,然后向其中添加了一些元素。接着,使用 `asyncio.create_task()` 函数创建了多个异步任务,每个任务都调用了 `read_list()` 函数来读取列表中的元素。最后,使用 `asyncio.gather()` 函数等待所有任务完成。
需要注意的是,在 `read_list()` 函数中,我们使用了列表和索引来读取元素,这种方式并不是线程安全的,因此需要使用锁或者其他线程同步机制来保证程序的正确性。
阅读全文