[問題] multi threading use same input file

看板Python作者 (Nee)時間11年前 (2014/05/06 14:04), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
目前自己想要重新設計一個架構,目前架構如下 有一個大檔案,假設是5GB,裡面有一百萬行資料 接下來,我有20個threading ,每一個threading 都做不一樣的事 但是讀取的檔案都是前面說的5GB的大檔 目前作法是每一個threading都去開5gb的file ,各自讀各自的 現在想要開一次5gb的file ,然後給每一個threading去執行 目前是想到用mmap 共用同一塊記憶體去做 不知道thread間會不會打架 不知道各位前輩是否能給點意見或建議 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.75.199.98 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1399356262.A.36A.html

05/07 02:20, , 1F
只讀不寫的話,thread or process都是共用記憶體的
05/07 02:20, 1F

05/07 15:17, , 2F
如果如樓上所言 import multiprocessing就夠用了
05/07 15:17, 2F

05/08 01:00, , 3F
我有做過類似的程式,原因應該是OS的copy on write
05/08 01:00, 3F
文章代碼(AID): #1JQ7jcDg (Python)
文章代碼(AID): #1JQ7jcDg (Python)