设置线程上的python len函数是否安全?

时间:2015-07-31 09:26:24

标签: python

Python 2.7。使用“导入集”

设置导入

一个线程使用add函数填充对象是否安全,而另一个线程是否可以通过调用set上的len函数等待该集合达到所需大小。没有任何保护措施。

编辑:“直到该集合达到至少指定的大小”

1 个答案:

答案 0 :(得分:3)

len()是只读的,所以我不确定你的线程安全意味着什么。如果该集正由另一个线程更新,那么它将不会使程序崩溃。

如果您正在等待设置达到N个项目,那么在您开始在该主题中执行某些操作之前,您最终可能会使用> N个项目,因为在您开始工作时,可能已添加了新项目。显然没有保证。

此外,如果您要从第二个主题中删除集合中的内容,则无法保证您有N个项目,即使len()返回的内容也是如此。

最后,如果您想发布一个新问题,描述您尝试使用此模式解决的问题,您可能会获得更具建设性的答案。