在python中使用多重处理(标准库)的开销

时间:2018-12-11 13:40:04

标签: python multiprocessing

from multiprocessing import Pool
def __init__():
    self.pool = Pool(processes=2)

def handle_request(data):    
    result = self.pool.map(work, data)

def test():
    data = (1, 2, 3, 4)
    for x in range(2):
       handle_request(data)

据我了解,将启动新的python进程(在本例中为2)来处理这些工作。我进行了一点挖掘,发现与任务“工作”相关的内存对象将在新流程中被腌制和取消腌制。

似乎每项任务都会出现泡菜和腌菜。从而增加了处理时间。

我的问题是:

  1. 我对泡菜和腌菜的观察正确吗?还是只是我的代码是错误的?
  2. 如果观察结果正确,那么是否有一种方法可以使这些进程保持活动状态,从而避免每次都重新初始化?

谢谢

0 个答案:

没有答案