मैं समझता हूं कि किसी एप्लिकेशन में बहुत सारे धागे बनाने से आप अन्य चल रही प्रक्रियाओं के लिए "अच्छा पड़ोसी" कह सकते हैं, क्योंकि सीपीयू और मेमोरी संसाधनों का उपभोग किया जाता है, भले ही ये धागे एक कुशल नींद की स्थिति में हों।पहली बार बनाए गए थ्रेड का कितना मेमोरी खपत करता है?
मुझे इसमें क्या रूचि है यह है: नींद के धागे से कितनी मेमोरी (win32 प्लेटफार्म) का उपभोग किया जा रहा है?
सैद्धांतिक रूप से, मैं कहीं 1 एमबी के क्षेत्र में मानता हूं (क्योंकि यह डिफ़ॉल्ट स्टैक आकार है), लेकिन मुझे पूरा यकीन है कि यह इससे कम है, लेकिन मुझे यकीन नहीं है कि क्यों।
इस पर किसी भी मदद की सराहना की जाएगी।
(कारण मैं पूछ रहा हूं कि मैं थ्रेड-पूल पेश करने पर विचार कर रहा हूं, और मैं समझना चाहता हूं कि मैन्युअल रूप से बनाए गए 20 की तुलना में 5 धागे का पूल बनाकर मैं कितनी मेमोरी बचा सकता हूं धागे)
त्वरित संभावित सुधार - जैसा कि मैं इसे समझता हूं, 1 एमबी डिफ़ॉल्ट आरक्षित स्टैक आकार का आकार है। किसी भी एकल ढेर फ्रेम की तुलना में बहुत छोटा होने की संभावना है। –
इसके लिए धन्यवाद - यह सुनिश्चित नहीं है कि जब मैंने लिखा था तो मैं क्या सोच रहा था! – Alan
आपका आधार गलत है। बहुत सारे धागे बनाना एक बुरा पड़ोसी माना जाता है क्योंकि यह बहुत से अतिरिक्त संदर्भ स्विच और कैश प्रदूषण बनाता है जो पूरे सिस्टम को धीमा कर देता है। जब तक आप हास्यास्पद संख्याओं के धागे (हजारों) के बारे में बात नहीं कर रहे हैं, तो स्मृति प्रणालियों आधुनिक प्रणालियों पर नगण्य है। –