python多进程问题,提示不能解析 20C

import os, time
from multiprocessing import Process
class controlclass(object):
def worker(self):
print("子进程执行中>>> pid={0},ppid={1}".format(os.getpid(), os.getppid()))
time.sleep(2)
print("子进程终止>>> pid={0}".format(os.getpid()))
def main(self):
print("主进程执行中>>> pid={0}".format(os.getpid()))
ps = []
# 创建子进程实例
for i in range(2):
p = Process(target=worker, args=())
ps.append(p)
# 开启进程
for i in range(2):
ps[i].start()
print("主进程终止")
if name == '__main__':
cs = controlclass()
cs.main()

-----这个 p = Process(target=worker, args=())   worker这里提示不能解析
-----不在__main__中开启进程,怎么能实现啊
0

2个回答

应该是:target=self.worker

0

看代码,跑起来

import os, time
from multiprocessing import Process
class controlclass(object):
    def worker(self):
        print("子进程执行中>>> pid={0},ppid={1}".format(os.getpid(), os.getppid()))
        time.sleep(2)
        print("子进程终止>>> pid={0}".format(os.getpid()))

    def main(self):
        print("主进程执行中>>> pid={0}".format(os.getpid()))
        ps = []
        # 创建子进程实例
        for i in range(2):
            p = Process(target=self.worker, args=())
            ps.append(p)
        # 开启进程
        for i in range(2):
            ps[i].start()
        print("主进程终止")

if __name__ == '__main__':
    cs = controlclass()
    cs.main()

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!