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 का जिक्र नहीं कर रहा हूं)पाइथन मल्टीप्रोसेसिंग से बाहर निकलें कैसे?
वास्तव में, यह सब कोड आप के रूप में-एक NameError है, क्योंकि आप वर्ग निर्माण के दौरान वर्ग का दृष्टांत की कोशिश कर रहे देना चाहिए:
निम्नलिखित कोड का प्रयास करें। दूसरे शब्दों में: आप शायद पिछले आठ लाइनों को समर्पित करना चाहते हैं। – balpha
नोट: यह उदाहरण कोड Win32 पर असफल हो जाएगा क्योंकि आपने मुख्य स्क्रिप्ट कोड को गार्ड क्लॉज से सुरक्षित नहीं किया है: 'if __name__ ==" __main__ ": ... – jkp