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()
Мне просто интересно, почему приведенный выше код действительно не печатает "вы вышли". Что я делаю не так? если да, может кто-нибудь указать мне правильный способ выйти изящно? (Я не имею в виду process.terminate или kill)