小编M. *_*eng的帖子

在Python中使用不同的键并发写入字典

我正在编写一个简单的 Python 程序,它使用 asyncio.coroutines 维护一个字典。其设计是每个协程向字典添加一个具有不同键的条目。我的问题是,修改字典时是否需要同步以避免竞争条件?换句话说,写入字典是原子的吗?

这是我的程序:

map ={}
key_set = Set(...)

@asyncio.coroutine
def update(key):
    # do I need synchronization here to avoid race condition?
    map[key] = ... # add a new entry with key to the map

fut = []
for key in key_set:
    fut.append(update(key))

loop = asyncio.get_event_loop()
loop.run_until_complete(
    asyncio.gather(*fut)
)
loop.close()
Run Code Online (Sandbox Code Playgroud)

python dictionary coroutine

6
推荐指数
1
解决办法
3562
查看次数

标签 统计

coroutine ×1

dictionary ×1

python ×1