在其他文章中,我读到了在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的多个实例,而无需多线程处理,因此可以大大提高速度。可以证明什么吗,即我可以假设我的函数可以是多线程的,而不能使用此特定库吗?