पर हाल ही में धागे जोड़ना मैं अपने जावा समवर्ती पाठ्यक्रम के लिए एक ट्यूटोरियल पर काम कर रहा हूं। समानांतर में प्राइम संख्याओं की गणना करने के लिए थ्रेड पूल का उपयोग करना है।जावा थ्रेड पूल
डिज़ाइन इरेटोस्टेनेस की चलनी पर आधारित है। इसमें एन बूल की एक सरणी है, जहां एन सबसे बड़ा पूर्णांक है जिसे आप जांच रहे हैं, और सरणी में प्रत्येक तत्व एक पूर्णांक का प्रतिनिधित्व करता है। सच है, झूठा गैर प्रधान है, और सरणी शुरू में सभी सच है।
एक थ्रेड पूल का उपयोग निश्चित संख्या में धागे के साथ किया जाता है (हमें पूल में धागे की संख्या के साथ प्रयोग करना चाहिए और प्रदर्शन का निरीक्षण करना चाहिए)।
एक थ्रेड को प्रक्रिया के लिए एक पूर्णांक एकाधिक दिया जाता है। तब थ्रेड को उस सरणी में पहला सच्चा तत्व मिलता है जो थ्रेड के पूर्णांक का एक बहु नहीं है। धागा तब थ्रेड पूल पर एक नया धागा बनाता है जिसे पाया गया नंबर दिया जाता है।
एक नया धागा बनने के बाद, मौजूदा धागा सरणी में इसके पूर्णांक के सभी गुणों को झूठी में सेट करना जारी रखता है।
मुख्य प्रोग्राम धागा पूर्णांक '2' के साथ पहला धागा शुरू करता है, और उसके बाद सभी तैयार धागे को समाप्त करने की प्रतीक्षा करता है। यह तब प्रमुख संख्याओं और गणना करने के लिए लिया गया समय निकाल देता है।
मेरे पास यह मुद्दा है कि थ्रेड पूल में जितने अधिक धागे हैं, धीमे यह 1 धागा सबसे तेज़ होता है। यह तेजी से धीमा नहीं होना चाहिए!
जावा थ्रेड पूल के बारे में इंटरनेट पर सभी चीजें एन वर्कर थ्रेड मुख्य थ्रेड बनाते हैं तो सभी धागे खत्म होने की प्रतीक्षा करें। जिस विधि का मैं उपयोग करता हूं वह एक पुनरावर्ती है क्योंकि एक कर्मचारी अधिक कार्यकर्ता धागे को जन्म दे सकता है।
मैं जानना चाहता हूं कि क्या गलत हो रहा है, और यदि जावा थ्रेड पूल का उपयोग बार-बार किया जा सकता है।
थ्रेड दृष्टिकोण के साथ चलते रहें, यह एक सीखने का अनुभव है और जब आप पूरा कर लेंगे तो आप धागे के बारे में बहुत कुछ समझेंगे। Eratosthenes की चाकू के बारे में कौन परवाह करता है? कई पेशेवर प्रोग्रामर इस पृष्ठ पर ज्ञान को कभी नहीं समझते हैं। बस याद रखें कि अगर किसी महिला के पास 9 महीने में बच्चा हो सकता है तो इसका मतलब यह नहीं है कि नौ इसे एक महीने कर सकता है !!! –