मुझे पता है कि अनपेक्षित प्रकार के लिए एक अनंत लूप आमतौर पर उच्च CPU उपयोग का कारण बनता है। लेकिन, मुझे समझ में नहीं आता क्यों। क्या कोई मुझे यह समझा सकता है?अनपेक्षित प्रकार का अनंत लूप CPU उपयोग को क्यों बढ़ाता है?
उत्तर
अनंत लूप किसी अन्य कोड से चलने से अलग नहीं हैं। कंप्यूटर नहीं जानता है कि अनंत लूप एक जटिल गणना नहीं है जिसके लिए बहुत सारे पुनरावृत्तियों की आवश्यकता होती है।
जब तक अनंत लूप में कोड नहीं होता है जो कुछ सिस्टम फ़ंक्शंस को कॉल करता है जो ओएस पर वापस आते हैं, तो ओएस इसे एक ऐसी प्रक्रिया के रूप में मानता है जो सक्रिय रूप से किसी चीज़ पर काम कर रहा है और इसे निष्पादित करने का समय देता है। यदि कोई अन्य प्रक्रिया नहीं चल रही है, तो यह 100% सीपीयू (एक कोर सिस्टम पर) खाएगी।
सीपीयू उस लूप को निष्पादित करते समय कुछ भी नहीं कर सकता (जो कभी खत्म नहीं होता है)। यहां तक कि यदि आप प्री-एम्प्टीव मल्टी-टास्किंग सिस्टम का उपयोग कर रहे हैं (ताकि अनंत लूप केवल अपनी प्रक्रिया या थ्रेड को हमेशा के लिए छीन लेगा), लूप प्रत्येक बार ओएस के प्री-एम्प्टीव शेड्यूलर को हाथों में "टाइम" खाएगा अगली टुकड़ा के लिए सीपीयू - कुछ भी नहीं कर रहा है, लेकिन प्रत्येक टुकड़े के सीपीयू समय के एक टुकड़े के मूल्य को खा रहा है, ताकि अन्यथा उपयोगी काम कर रहे अन्य सभी थ्रेडों के लिए बहुत सी सीपीयू खो जाए।
यह उत्तर, हालांकि सही हो सकता है, बहुत मुश्किल लग रहा है और इसलिए इस तरह के प्रश्न पूछने वाले लोगों के लिए बहुत उपयोगी नहीं है। तकनीकी शर्तों के व्यापक उपयोग के शीर्ष पर, दूसरा वाक्य, जो अनुच्छेद का सबसे अधिक है, विशेष रूप से पार्स करने के लिए बहुत लंबा तरीका है। – sawa
अपने आप में अनंत लूप बिल्कुल कोई समस्या नहीं है। उपयोगकर्ता के साथ बातचीत करने वाले अधिकांश एप्लिकेशन अनंत लूप होते हैं। वे बार-बार उपयोगकर्ता के लिए प्रतीक्षा करते हैं, उस पर कार्य करते हैं, और चक्र फिर से करते हैं। ऑपरेटिंग सिस्टम ही एक अनंत लूप है। इन प्रकार के अनंत लूप को 'उत्पादक' कहा जाता है क्योंकि अनिश्चित काल को दोहराने के बावजूद, वे समय-समय पर उपयोगकर्ता को कुछ उपयोगी बनाते हैं।
मुझे लगता है कि आपकी चिंता अनुत्पादक अनंत लूप के साथ है। लेकिन यह स्पष्ट है कि ये एक समस्या क्यों हैं। उनके पास उत्पादक लूप के सभी नुकसान हैं (बिजली का उपभोग करें, CPU समय का उपयोग करें और इसी तरह) किसी भी लाभ यानी के साथ। वे कुछ भी उपयोगी नहीं बनाते हैं।
भले ही आपका पहला पैराग्राफ जानकारीपूर्ण और सहायक हो, फिर भी दूसरा अनुच्छेद परिपत्र है। सवाल यह है कि, अनपेक्षित प्रकार की अनंत लूप क्यों करें "बिजली का उपभोग करें, सीपीयू समय का उपयोग करें, और इसी तरह"? – sawa
तुम शायद वास्तव में Halt and Catch Fire instruction
- 1. अनंत लूप का उपयोग क्यों करें?
- 2. अनंत लूप
- 3. यह एक अनंत अनुरोध लूप का कारण क्यों है?
- 4. अनंत लूप?
- 5. Jquery - अनंत लूप
- 6. करता है जबकि लूप हमेशा पूर्ण CPU उपयोग लेता है?
- 7. बेस्ट अनंत लूप
- 8. क्या जावा अनंत लूप को पहचानता है?
- 9. क्या यह पाइथन में अनंत लूप के लिए अनंत रिकर्सन का उपयोग करने का पाप है?
- 10. यह पायथन स्क्रिप्ट एक अनंत लूप क्यों बनाती है? (रिकर्सन)
- 11. जावास्क्रिप्ट विरासत अनंत लूप
- 12. UITextView अपने प्रतिनिधि के रूप में है अनंत अनंत लूप
- 13. ट्रीटॉप व्याकरण अनंत लूप
- 14. जावा: अनंत लूप स्कैनर in.hasNextInt() का उपयोग कर
- 15. Clojure अनंत लूप
- 16. finalizer अनंत लूप
- 17. ओपनएमपी और ईजिन का उपयोग अनंत लूप/डेडलॉक
- 18. पायथन बिल्ड अनंत लूप
- 19. प्रोलॉग भविष्यवाणी - अनंत लूप
- 20. सिग्नल हैंडलर अनंत लूप क्यों जाता है? - SIGSEGV
- 21. अनंत लूप जब सादे जावास्क्रिप्ट वस्तु को
- 22. अंतहीन है जबकि लूप CPU संसाधनों को लेता है?
- 23. अनंत लूप जब initWithCoder ओवरराइडिंग
- 24. रिलीज मोड में अनंत लूप
- 25. अनंत जबकि लूप और लूप के बीच अंतर क्या है?
- 26. हैकेल में अनंत लूप? (नौसिखिया)
- 27. फास्ट दोहराना TakeWhile अनंत लूप का कारण बनता है
- 28. PHP अनंत लूप अन्य स्क्रिप्ट तक पहुंच को रोकता है?
- 29. जावा CPU उपयोग को कम
- 30. खाली अनंत लूप और जीसी (जेवीएम)। प्रभाव
की बात कर रहे आधुनिक सामान्य प्रयोजन हे/एस, किसी भी समझदार कोड एक interruptable प्रतीक्षा राज्य है जो कि धागे पर कुछ भी क्रियान्वित जब तक यह करने की जरूरत से गिरी बंद हो जाता है में जाना जाएगा। –
सहमत हुए, लेकिन मेरी तुलना एक गहन गणना के साथ थी, जैसे अकादमिक शोध के लिए किए गए। – NilObject