gpt4 book ai didi

python - 在 Python 中,set.pop() 是线程安全的吗?

转载 作者:行者123 更新时间:2023-11-28 20:27:07 24 4
gpt4 key购买 nike

我知道 python 中的内置集合类型通常不是线程安全的,但是 this answer 声称从两个竞争线程调用 pop() 是安全的。当然,您可能会遇到异常,但您的数据并未损坏。我似乎找不到可以验证此声明的文档。是真的吗?文档,请!

最佳答案

如果您查看 set.pop method in the CPython source您会看到它不会释放 GIL。

这意味着在 CPython 进程中一次只会发生一次 set.pop

set.pop checks if the set is empty ,你只能通过尝试从空集合中弹出来导致 IndexError

所以不,您不能通过使用 CPython 在多个线程中从集合中弹出来破坏数据。

关于python - 在 Python 中,set.pop() 是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9911017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com