为什么这些Python服务器进程会累积?

2024-09-30 03:22:16 发布

您现在位置:Python中文网/ 问答频道 /正文

忽略实际的实用程序,我有以下类:

from multiprocessing import Manager
import threading


class MgrStaticTarget(object):

    def __init__(self):
        self._mgr = Manager()
        self._thd = threading.Thread(target=self.async_targ)

    @staticmethod
    def async_targ():
        pass

class MgrInstanceTarget(object):

    def __init__(self):
        self._mgr = Manager()
        self._thd = threading.Thread(target=self.async_targ)

    def async_targ(self):
        pass

我在观察我不明白的行为。在使用Python shell以以下方式重复实例化MgrInstanceTarget时:

i = MgrInstanceTarget()
i = MgrInstanceTarget()
i = MgrInstanceTarget()
i = MgrInstanceTarget()

那个多处理管理器服务器进程(或者至少我认为它们来自于此)正在积累。你知道吗

但是,如果我以相同的方式实例化mgrstictarget,服务器进程就不会累积。唯一存在的进程是最新的Manager服务器进程和pythonshell的进程。这是怎么回事?你知道吗


Tags: importself服务器asyncobject进程initdef

热门问题