- 主题:请教并发读取数据并写入同一个变量/文件
有一万个同类文件,串行读取,得到一个dataframe,然后添加到list中,全部读完后再将该list以concat得到汇总的结果
现在想再在读取环节改为并发,用processpoolexecutor执行,但是每个进程读取的结果无法写到list中,执行完list还是空
请教应该如何实现并发过程同时向同一个list写结果?谢谢
--
FROM 210.83.240.*
多谢,研究了下发现没法搞定,现在我多了一次读写:一万个文件并发执行读取和筛选等动作,结果写入硬盘,得到一万个清洗后的新文件,然后再串行读这一万个结构完全相同的新文件。以上方案能提高一部分效率,但还没有完全达到预期
想问问python下还有没有其他方案,能提高大量同类文件的读取效率,谢谢!
【 在 Palmtenor 的大作中提到: 】
: multi-Process多个进程之间不共享内存,读取的结果要用pickle汇总到主进程
:
--
FROM 14.103.161.*
还是没法搞定并发往同一个变量写东西,只能增加一次IO,把主要工作并发处理掉,写到硬盘中,然后再串行读取这些结构上更简单的中间结果文件
我再研究下asyncio,多谢
【 在 Palmtenor 的大作中提到: 】
: 具体“没法搞定”的是哪部分?
: 如果实在不想用pickle,可以像楼上说的,用asyncio然后就可以多线程而不是多进程了,其实也不错
:
--
FROM 210.83.240.*