我目前正在尝试读取一个巨大的csv文件,并希望通过多处理来加快速度。但是,它甚至不使用apply_async或map也不执行基本的测试功能。没有任何反应,进程没有停止运行。不过,这只会在我的virtualenv中发生。
import multiprocessing as mp
import csv
def process(rows):
print(rows)
return
if __name__ == '__main__':
with open("mygiganticfile.tsv", encoding='utf-8') as tsvfile:
tsv_reader = csv.reader(tsvfile, delimiter='\t')
pool = mp.Pool(4)
pool.apply_async(process, args=([1, 2, 3],))
pool.apply_async(process, args=([4, 5, 6],))
pool.apply_async(process, args=([7, 8, 9],))
pool.close()
pool.join()
我使用标准venv和python 3.7,这是我的pyvenv.cfg:
home = C:\Users\xxxxx\AppData\Local\Programs\Python\Python37-32
include-system-site-packages = false
version = 3.7.2