当数据不断附加时,从python中的多个线程并发访问列表

Pau*_*aul 2 python multithreading list thread-safety

我们有一个以固定时间间隔附加数据的列表,此过程需要时间,因此在写入期间使用通常的互斥锁来保护整个列表并不是最有效的解决方案。如何以更并发的方式组织对此类列表的读取和写入?

leo*_*ovp 5

使用list.append()list.extend()使用多线程时不需要锁定。这些操作是线程安全的。

以下是线程安全操作的简要概述:https : //docs.python.org/3/faq/library.html#what-kinds-of-global-value-mutation-are-thread-safe

还值得一提的是,从性能的角度来看,在单独的线程中准备子列表要快得多,然后extend是带有这些子列表的主列表。