[問題] multi threading use same input file

作者: icoach (Nee)   2014-05-06 14:04:20
目前自己想要重新設計一個架構,目前架構如下
有一個大檔案,假設是5GB,裡面有一百萬行資料
接下來,我有20個threading ,每一個threading 都做不一樣的事
但是讀取的檔案都是前面說的5GB的大檔
目前作法是每一個threading都去開5gb的file ,各自讀各自的
現在想要開一次5gb的file ,然後給每一個threading去執行
目前是想到用mmap 共用同一塊記憶體去做 不知道thread間會不會打架
不知道各位前輩是否能給點意見或建議 謝謝各位
作者: gozule (好冷啊~~)   2014-05-07 02:20:00
只讀不寫的話,thread or process都是共用記憶體的
作者: tiefblau (tiefblau)   2014-05-07 15:17:00
如果如樓上所言 import multiprocessing就夠用了
作者: gozule (好冷啊~~)   2014-05-08 01:00:00
我有做過類似的程式,原因應該是OS的copy on write

Links booklink

Contact Us: admin [ a t ] ucptt.com