1

从其他帖子中,我了解到在 python 中使用多线程所需要做的就是使用这个简单的代码

from multiprocessing.dummy import Pool as ThreadPool

pool = ThreadPool(8) 
results = pool.map(extract_from_file, file_list)

取代

for file in file_list:
   extract_from_file(file)

在我的例子中,extract_from_file(file) 读取一个非常长的文件并将其切割成有趣的序列,这些序列保存在不同的文件夹中。

就我而言,多线程根本没有带来速度提升。然而,我觉得奇怪的是,我可以手动拆分列表,只需打开 Spyder 几次,并在没有多线程的情况下运行多个 python 实例,这会导致速度大大提高。这能证明什么吗,即我可以假设我的函数可以是多线程的,而不是这个特定的库吗?

4

0 回答 0