मैं एक निश्चित आकार का थ्रेड पूल बनाना चाहता हूं जो इसकी कतार में कोई कार्य स्वीकार नहीं करता है। दूसरे शब्दों में, यदि थ्रेड पूल वर्तमान में उपयोग में है, तो आने वाले कार्य को अस्वीकार कर दिया जाना चाहिए। documentation के आधार पर, ऐसा करने का एक तरीका, मेरी राय में, एक डमी क्यू ऑब्जेक्ट बनाना होगा जो किसी कार्य को स्वीकार करने से इंकार कर देता है। जावा में इसे पूरा करने के लिए बेवकूफ तरीका क्या है?एक कतार के बिना ThreadPoolExecutor
उत्तर
आप अपने थ्रेडपूलएक्सक्टर में SynchronousQueue का उपयोग कर सकते हैं जो एक कतार है जिसमें कोई ऑब्जेक्ट नहीं है। कैश्ड थ्रेड पूल इसका उपयोग करता है क्योंकि यह मांग पर नए धागे बनाता है।
यदि इसे कतारबद्ध नहीं किया जा सकता है, लेकिन मैं मौजूदा थ्रेड में कार्य को चलाने के लिए RejectedExecutionHandler का उपयोग करने का सुझाव दूंगा। इस तरह यह हमेशा "तुरंत" चलाया जाएगा।
बीटीडब्ल्यू: यह स्पष्ट करना उपयोगी होगा कि आप ऐसा क्यों करना चाहते हैं।
क्या आप इस बात को विस्तारित कर सकते हैं कि आप ऐसा क्यों करना चाहते हैं? टीपी + क्यू का मूल उद्देश्य काम के लिए एक स्वचालित "होल्डिंग तंत्र" होना है और श्रमिकों को कार्य निर्माण प्रक्रिया से वंचित करना है। यदि आपका इरादा केवल श्रमिकों के रूप में स्वीकार्य कार्य पैकेजों के लिए है तो आपको वास्तव में एक टीपीई की आवश्यकता नहीं है।
- 1. ThreadPoolExecutor
- 2. ThreadPoolExecutor
- 3. कतार पूर्ण होने पर ThreadPoolExecutor ब्लॉक?
- 4. ThreadPoolExecutor
- 5. ThreadPoolExecutor नीति
- 6. जावा ThreadPoolExecutor रणनीति, कतार के साथ 'डायरेक्ट हैंडऑफ'?
- 7. ThreadPoolExecutor
- 8. ThreadPoolExecutor समस्या
- 9. ThreadPoolExecutor
- 10. कार्य/कार्य चोरी ThreadPoolExecutor
- 11. ThreadPoolExecutor और queue
- 12. जावा में प्राथमिकता ThreadPoolExecutor (एंड्रॉइड)
- 13. एक कतार
- 14. एक कतार
- 15. कतार प्रबंधक नाम निर्दिष्ट किए बिना कतार से कनेक्ट करना
- 16. मल्टी थ्रेडिंग बनाम ThreadPoolExecutor
- 17. एक कतार
- 18. एक कतार
- 19. Java ThreadPoolExecutor ArrayBlockingQueue
- 20. ThreadPoolExecutor के साथ कैसे रहते हैं?
- 21. एक ही कतार
- 22. एक एमएसएमक्यू आउटगोइंग कतार
- 23. कतार
- 24. ThreadPoolExecutor में अलग कोर और अधिकतम पूल आकार निर्दिष्ट करते समय एक अच्छा विचार कब है?
- 25. एक आरईएसटी सेवा के सामने अनुरोध कतार
- 26. पुन: व्यवस्थित करें कतार
- 27. जेएमएस कतार
- 28. कतार
- 29. माइक्रोसॉफ्ट संदेश कतार - प्राथमिकता झंडा या एक अलग कतार?
- 30. समीक्षा कतार
इस कार्य को पूर्व के कतार में प्रतीक्षा करने के बजाय, मुक्त थ्रेड के साथ एक और थ्रेड पूल निष्पादक चुना जा सकता है। ThreadPoolExecutor के बजाय मुझे क्या उपयोग करना चाहिए? –
यदि आप निष्पादन को नियंत्रित करना चाहते हैं तो टीपीई आपकी पसंद नहीं है। आप कार्यकर्ता धागे का एक साधारण संग्रह प्राप्त करने से बेहतर होते हैं, जिससे आप नौकरी (यदि वे उपलब्ध हैं) को एक साधारण सेट पर रख सकते हैं, जिसे आप मुख्य थ्रेड से और उसके अंदर से बाहर और बाहर धक्का देते हैं। –
vivekv