python多进程存储数据_python – 多进程还是多线程? – 并行化数百万次迭代的简单计算并将结果存储在单个数据结构中...

第一个选项 – 服务器进程

创建服务器进程.它是Multiprocessing包的一部分,允许并行访问数据结构.这样,每个进程都将直接访问数据结构,锁定其他进程.

Server process

A manager object returned by Manager() controls a server process which

holds Python objects and allows other processes to manipulate them

using proxies.

A manager returned by Manager() will support types list,dict,

Namespace,Lock,RLock,Semaphore,BoundedSemaphore,Condition,Event,

Queue,Value and Array.

第二种选择 – 工人池

>作为生产者的主要进程将使用对(s1,s2)为输入队列提供信息.

>每个工作进程将从输入队列中读取一对,并将结果写入输出队列.

>主线程将从结果Queue中读取结果,并将它们写入结果字典中.

第三种选择 – 分为独立问题

您的数据是独立的:f(D [si],D [sj])是一个隐蔽的问题,与任何f(D [sk],D [sl])无关.此外,每对的计算时间应该相当相等,或至少在相同的数量级.

将任务划分为n个输入集,其中n是您拥有的计算单元(核心,甚至计算机)的数量.将每个输入集分配给不同的进程,并加入输出.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值