जब किसी भी थ्रेड के अंदर किसी अपवाद को उठाए बिना अपवाद उठाया जाता है, तो क्या यह पूरे एप्लिकेशन/दुभाषिया/प्रक्रिया को मार देगा? या यह केवल धागे को मार डालेगा?क्या इन-थ्रेड बेजोड़ अपवाद केवल थ्रेड या पूरी प्रक्रिया को मारता है?
उत्तर
की यह कोशिश करते हैं:
import threading
import time
class ThreadWorker(threading.Thread):
def run(self):
print "Statement from a thread!"
raise Dead
class Main:
def __init__(self):
print "initializing the thread"
t = ThreadWorker()
t.start()
time.sleep(2)
print "Did it work?"
class Dead(Exception): pass
Main()
कोड ऊपर निम्नलिखित परिणाम प्राप्त होते हैं:
> initializing the thread > Statement from a thread! > Exception in thread > Thread-1: Traceback (most recent call last): File > "C:\Python27\lib\threading.py", line 551, in __bootstrap_inner > self.run() File ".\pythreading.py", line 8, in run > raise Dead Dead > ----- here the interpreter sleeps for 2 seconds ----- > Did it work?
तो, आपके सवाल का जवाब है कि एक उठाया अपवाद केवल धागा दुर्घटनाओं यह पूरे कार्यक्रम में नहीं है।
मैं समवर्ती थ्रेड पूल का उपयोग कर रहा हूं। यदि एक थ्रेड मारा गया तो थ्रेड पूल में एक नया धागा उग जाएगा या नहीं ??? –
threading प्रलेखन से:
एक बार धागा की गतिविधि शुरू कर दिया है, धागा माना 'जिंदा' है। यह जीवित होने पर रोकता है जब इसकी रन() विधि समाप्त होती है - या तो सामान्य रूप से, या एक अनचाहे अपवाद उठाकर। Is_alive() विधि परीक्षण करता है कि धागा जीवित है या नहीं।
और यह भी:
में शामिल होने के (टाइमआउट = कोई नहीं)
प्रतीक्षा जब तक धागा समाप्त हो जाता है। यह कॉलिंग थ्रेड को थ्रेड तक अवरुद्ध करता है, जिसमें शामिल हों() विधि को टर्मिनेट कहा जाता है - या तो सामान्य रूप से या एक अनचाहे अपवाद के माध्यम से - या वैकल्पिक टाइमआउट होने तक।
दूसरे शब्दों में, बेकार अपवाद थ्रेड को समाप्त करने का एक तरीका है, और माता-पिता के join
में कहा गया थ्रेड पर कॉल किया जाएगा।
- 1. क्या होता है जब एक थ्रेड अपवाद फेंकता है?
- 2. क्या SQLite डिस्क को हमेशा मारता है?
- 3. बेजोड़ अपवाद: [CKEDITOR.editor] उदाहरण पहले से मौजूद है
- 4. क्या PHP में सभी बेजोड़ अपवाद घातक हैं?
- 5. उत्पादन-केवल त्रुटि को डीबग करने की प्रक्रिया क्या है?
- 6. सी # कंसोल एप्लिकेशन में बेजोड़ अपवादों को संभालना
- 7. क्या "डेटा साफ़ करें" ऐप को भी मारता है?
- 8. क्या थ्रेड आईडी प्रति प्रक्रिया या प्रति कंप्यूटर अद्वितीय हैं?
- 9. कार्य प्रबंधक मेरे प्रोग्राम को कैसे मारता है?
- 10. क्या क्रॉन नौकरी आखिरी क्रॉन निष्पादन को मारता है?
- 11. टाइमर थ्रेड पर एक अनचाहे अपवाद प्रक्रिया को क्रैश नहीं करता है
- 12. बेजोड़ अपवाद: jQuery यूआई टैब: मिस्चैचिंग खंड पहचानकर्ता
- 13. वैश्विक बेजोड़ अपवाद हैंडलर -> मुझे ईमेल लॉग इन करें?
- 14. मैं PHP में बेजोड़ अपवाद कैसे लॉग करूं?
- 15. Response.redirect स्थानीय संग्रहण को मारता है?
- 16. आईओएस 5 में नई त्रुटि: वेबकिट ने एक बेजोड़ अपवाद
- 17. अपवाद फेंकने के लिए किसकी जिम्मेदारी है ?; ओएस या प्रक्रिया?
- 18. प्रक्रिया थ्रेड नाम
- 19. क्या अपवाद की एक पूरी सूची है कि shutil.rmtree
- 20. क्या CLOCK_MONOTONIC प्रक्रिया (या धागा) विशिष्ट है?
- 21. डेल्फी थ्रेड अपवाद तंत्र
- 22. Concurrency: प्रक्रिया बनाम थ्रेड
- 23. जावा थ्रेड अपवाद
- 24. क्या किसी अन्य प्रक्रिया में थ्रेड आईडी को जानने का कोई तरीका है जो अपवाद फेंकता है?
- 25. नया अपवाद क्या है या फेंकना है?
- 26. फायरशेर्ड फायरशेप क्यों मारता है?
- 27. जावा में थ्रेड या प्रक्रिया का मेमोरी उपयोग
- 28. htaccess 301 पूरी साइट को रीडायरेक्ट करता है लेकिन अपवाद
- 29. यूआई थ्रेड की परिभाषा क्या है? क्या .NET अनुप्रयोग में केवल एक यूआई थ्रेड है?
- 30. ग्रहण में विशिष्ट प्रकार के बेजोड़ अपवाद को अनदेखा कैसे करें?
क्या आपने एक थ्रेड बनाने की कोशिश की है जो अपवाद फेंकता है? – mbatchkarov