संक्षिप्त उत्तर: os._exit
का उपयोग करें। उदाहरण के साथ
लांग जवाब:
मैं yanked और थोड़ा a tutorial on DevShed से एक सरल सूत्रण उदाहरण संशोधित:
import threading, sys, os
theVar = 1
class MyThread (threading.Thread):
def run (self):
global theVar
print 'This is thread ' + str (theVar) + ' speaking.'
print 'Hello and good bye.'
theVar = theVar + 1
if theVar == 4:
#sys.exit(1)
os._exit(1)
print '(done)'
for x in xrange (7):
MyThread().start()
आप sys.exit(1)
बाहर टिप्पणी की रहती है, तो स्क्रिप्ट तीसरे धागा प्रिंट आउट के बाद मर जाएगा। यदि आप sys.exit(1)
का उपयोग करते हैं और os._exit(1)
पर टिप्पणी करते हैं, तो तीसरा धागा प्रिंट (done)
प्रिंट करता है, और प्रोग्राम सभी सात धागे से चलता है।
os._exit
"आमतौर पर केवल कांटा()" के बाद बाल प्रक्रिया में उपयोग किया जाना चाहिए - और एक अलग धागा आपके उद्देश्य के लिए पर्याप्त निकट है। यह भी ध्यान रखें कि उस मैनुअल पेज में os._exit
के ठीक बाद सूचीबद्ध कई समेकित मान हैं, और आपको उपरोक्त उदाहरण में उपयोग की जाने वाली सरल संख्याओं के बजाय उन्हें os._exit
पर तर्क के रूप में प्राथमिकता देना चाहिए।
स्रोत
2009-09-28 23:21:53
आपका लिंक मर चुका है। – OrangeDog