栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

多处理中的共享内存

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

多处理中的共享内存

一般来说,共有两种数据共享方式:

  • 多线程
  • 共享内存

Python的多线程不适用于受CPU约束的任务(由于GIL),因此在这种情况下,通常的解决方案是继续

multiprocessing
。但是,使用此解决方案,您需要使用
multiprocessing.Value
和显式共享数据
multiprocessing.Array

注意,由于所有同步问题,通常在进程之间共享数据可能不是最佳选择。通常,涉及参与者交换消息的方法是更好的选择。另请参阅Python文档:

如上所述,在进行并行编程时,通常最好尽可能避免使用共享状态。使用多个进程时尤其如此。

但是,如果确实需要使用某些共享数据,则多处理提供了两种方法。

在您的情况下,您需要包装

l1
l2
l3
以某种可以理解的方式
multiprocessing
(例如通过使用
multiprocessing.Array
)进行包装,然后将它们作为参数传递。
还要注意,正如您所说的那样,您不需要写访问权限,那么您应该
lock=False
在创建对象时通过,否则所有访问仍将被序列化。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669105.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号