我在我的Python应用程序中创建了一个字典,保存数据,并且有两个任务并发运行并从外部API获取数据。一旦它们获取到数据,它们就会更新该字典——每个任务使用字典的不同键。
我想知道这个字典是否是异步安全的,或者在读取/更新字典时是否需要加锁?
这些任务还会每次读取上次保存的值。
my_data = {}
asyncio.create_task(call_func_one_coroutine)
asyncio.create_task(call_func_two_coroutine)
async def call_func_one_coroutine():
data = await goto_api_get_data()
my_data['one'] = data + my_data['one']
async def call_func_two_coroutine():
data = await goto_api_another_get_data()
my_data['two'] = data + my_data['two']