/ / सी थ्रेड्स पुन: उपयोग करने लायक हैं? [बंद] - सी, मल्टीथ्रेडिंग, पुन: प्रयोज्य, रीसायकल

पुन: उपयोग करने लायक सी धागे? [बंद] - सी, multithreading, पुन: प्रयोज्य, रीसायकल

क्या सी में धागे का पुन: उपयोग करने के लिए कोड लिखने के लिए समय लेने के लायक है, या वे बनाने और नष्ट करने के लिए सस्ते हैं?

मैं केवल 3 डी ग्राफिक्स और यह कुछ सीपीयू प्रदान कर रहा हूँबहुत धीमी गति से जा रहा था (लगभग 5 एफपीएस की तरह दिखता है)। मैंने इसे हल करने के लिए थ्रेड्स का उपयोग करने की कोशिश की। 4 थ्रेड्स का उपयोग करते हुए, प्रत्येक स्क्रीन की एक पट्टी को प्रस्तुत करते हुए, मेरे फ्रेम दर को कुछ बहुत ही उचित और चिकनी करने के लिए बढ़ावा देता था। मैं अभी भी इस बात को लेकर चिंतित हूं कि जब मैं अपने ग्राफिक्स को और अधिक जटिल बनाऊंगा तो क्या होगा। क्या मुझे हर फ्रेम को बनाने और नष्ट करने के बजाय अपने थ्रेड का पुन: उपयोग करके कोई प्रशंसनीय गति मिलेगी?

संपादित करें: ऑपरेटिंग सिस्टम I "पर काम कर रहा है जो विंडोज है।

उत्तर:

जवाब के लिए 3 № 1

1 धागे के साथ आपको लगभग 5 एफपीएस मिला,संभवतः 4 थ्रेड्स के साथ, आपको लगभग 20 एफपीएस मिल गया है? तो, आप प्रति सेकंड 80+ थ्रेड्स बना रहे हैं और नष्ट कर रहे हैं यदि आप उन्हें चारों ओर नहीं रखते हैं, तो थ्रेड्स काफी हल्के होते हैं, लेकिन मुझे लगता है कि आप उस ओवरहेड को नोटिस करना शुरू कर देंगे।


उत्तर № 2 के लिए 1

आप बहुत अधिक ओवरहेड और खत्म कर देंगेविलंबता, हाँ। टीबीएच, मैं समझ सकता हूं कि इतने सारे डेवलपर्स लगातार थ्रेड बनाने और नष्ट करने से क्यों शुरू करते हैं - यह अक्षम, कठिन और लीक और अन्य आपदाओं के लिए प्रवण है।