python multiprocessing linux 只读对象

如何在multiprocessing中共享只读对象呢?

什么都不要做,直接用就行。linux有copy on write的机制,所以不修改的话不需要做特别的操作。如果做了其他的事,譬如用multiprocssing.Manager共享了一个参数,反而会因为锁的原因(大概是)而极大地降低代码效率。

然后进程创建模式用fork或者forkserver好像都行,没有影响。有空再仔细看下这两个的区别。

相关链接:

https://stackoverflow.com/questions/659865/multiprocessing-sharing-a-large-read-only-object-between-processes

https://stackoverflow.com/questions/19366259/multiprocessing-in-python-with-read-only-shared-memory

https://zh.wikipedia.org/zh-hans/%E5%AF%AB%E5%85%A5%E6%99%82%E8%A4%87%E8%A3%BD

 

posted @ 2020-07-24 15:41  e-yi  阅读(5)  评论(0)    收藏  举报  来源