के कई उदाहरण लॉन्च कर रहा है मैं कुछ मल्टीप्रोसेसिंग कोड (पायथन 2.6.4, विनएक्सपी) लिख रहा हूं जो पृष्ठभूमि कार्यों को चलाने के लिए प्रक्रियाओं को उत्पन्न करता है। कुछ मामूली उदाहरणों के साथ खेलने में, मैं एक ऐसे मुद्दे पर चल रहा हूं जहां मेरा कोड लगातार नई प्रक्रियाओं को जन्म देता है, भले ही मैं केवल एक निश्चित संख्या को जन्म देने के लिए कहूं।मल्टीप्रोसेसिंग पाइथन वीएम
प्रोग्राम स्वयं ठीक चलता है, लेकिन यदि मैं विंडोज टास्कमेनर में देखता हूं, तो मैं नई 'python.exe' प्रक्रियाओं को प्रकट करता रहता हूं। कार्यक्रम चलने के बाद वे अधिक से अधिक चमकते रहते हैं (अंततः मेरी मशीन को भूखा)।
उदाहरण के लिए,
मैं नीचे दिए गए कोड 2 python.exe प्रक्रियाओं शुरू करने की उम्मीद रखते हैं। पहला कार्यक्रम स्वयं ही है, और दूसरा बच्चा प्रक्रिया होने के कारण यह पैदा होता है। कोई आइडिया है कि मैं क्या गलत कर रहा हूँ?
import time
import multiprocessing
class Agent(multiprocessing.Process):
def __init__(self, i):
multiprocessing.Process.__init__(self)
self.i = i
def run(self):
while True:
print 'hello from %i' % self.i
time.sleep(1)
agent = Agent(1)
agent.start()
यह था !! वाह .. वास्तव में अजीब व्यवहार। –
कार्यान्वयन को समझने के बाद यह अजीब नहीं है, जो पीटर ने इंगित किया है। – jnoller
@jnoller, यह तब तक स्पष्ट नहीं है जब तक कि आप ध्यान से न देख सकें, लेकिन स्पष्टीकरण जोड़ने के लिए मैंने अपना जवाब संपादित करने से पहले कोरी ने अपनी टिप्पणी की। –