我想设计我的平台来计算一些东西,结构是,
一个大文件(可能是5 5gb或10 5gb) 20线程并执行不同的算法
我目前的结构是20个线程自己打开大文件,然后逐行读取,由每个线程执行。然而,我想设计一个新的结构,只打开大文件一次,每个线程读取相同的内存块,
我研究了mmap和multiprocess.array,但仍然不知道如何安全和容易地应用它。
有人能帮我吗?谢谢。
发布于 2014-05-06 16:22:31
打开文件时生成的底层文件句柄只能用于读取文件的某一点。不能使用相同的文件句柄读取多个偏移量。
因此,您应该使用一个线程读取文件,而其他线程读取由第一个线程使用文件缓冲区生成的一种队列。
https://stackoverflow.com/questions/23489412
复制相似问题