相关疑难解决方法(0)

Python多处理优雅退出如何?

import multiprocessing
import time

class testM(multiprocessing.Process):

    def __init__(self):
        multiprocessing.Process.__init__(self)
        self.exit = False

    def run(self):
        while not self.exit:
            pass
        print "You exited!"
        return

    def shutdown(self):
        self.exit = True
        print "SHUTDOWN initiated"

    def dostuff(self):
        print "haha", self.exit


a = testM()
a.start()
time.sleep(3)
a.shutdown()
time.sleep(3)
print a.is_alive()
a.dostuff()
exit()
Run Code Online (Sandbox Code Playgroud)

我只是想知道为什么上面的代码没有真正打印"你退出".我究竟做错了什么?如果是这样,有人可能会指出我正确退出的正确方法吗?(我不是指process.terminate或kill)

python multiprocessing

45
推荐指数
1
解决办法
5万
查看次数

标签 统计

multiprocessing ×1

python ×1