multiprocessing python多进程模块, 于是, Processing也是多进程的宠儿....所以我们现在已经能够得出答案, 如果我们想要在multiprcessing.Process中, 用上面类似的方式去写文件时,有三种方法去实现:
写满缓冲区
手动调用flush()
将文件对象设置成不缓冲...--------------我是切割线----------------------------------------------
谈论完现象和处理的方法, 我们应该来点深入的;
相信我们曾经试过, 在没有显示关闭文件对象或者显示调用...其实,在我们正常关闭程序时, 进程在退出将会为我们做一些"手尾", 例如关闭打开的文件描述符, 清理临时文件,清理内存等等.正是因为系统的这种"好习惯", 所以我们的数据在文件描述符关闭时,就能刷入写队列...那么基于这种认识,我们再回首刚才的问题, 在子进程调用put的时候, 理论上在程序退出时, 并没显示关闭文件描述符, 所以数据在缓冲区就丢失了.