list.append(foo)是否可能不支持多线程?

3

我经常使用多线程,在不同的线程中向同一个列表追加数据,一切都很正常。

然而,当线程数量达到70个或更多时,我遇到了一个列表追加问题。在最后一个线程中追加数据会卡住大约5分钟(此时处理器使用率可能只有10%左右,因此我认为这不是硬件问题)。然后追加操作成功完成。

链接上,它说列表追加是线程安全的。

我的问题是:列表追加是否可能不是线程安全的?

不要要求代码之类的东西。我只需要一个简单的是或否回答我的问题。如果是,麻烦提供修复建议。


1
Python通过GIL有效地实现了线程安全,使用70个线程时,单个线程可能会被锁定并且在相当长的时间内无法执行任何操作,因为每次只有一个线程在执行。 - metatoaster
1个回答

1

你引用的来源是什么? - Abraham Murciano Benzadon
@AbrahamMurcianoBenzadon,这可能是你的答案 - smac89
@AbrahamMurcianoBenzadon https://docs.python.org/3/faq/library.html#what-kinds-of-global-value-mutation-are-thread-safe@AbrahamMurcianoBenzadon https://docs.python.org/3/faq/library.html#哪些全局值变异是线程安全的 - Xiwei Wang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接