मुझे जो चाहिए वह शटडाउन जैसा ही है, लेकिन उसके बाद नए कार्य सबमिट करने में सक्षम हो। मेरे ThreadPoolExecutor मेरे प्रोग्राम निष्पादन के दौरान कार्यों की एक यादृच्छिक संख्या स्वीकार करेगा।जावा - ThreadPoolExecutor चल रहे कार्यों को रद्द करें
उत्तर
आप प्रत्येक सबमिशन के भविष्य को पकड़ सकते हैं, संग्रह में भविष्य को स्टोर कर सकते हैं, फिर जब आप कार्यों को रद्द करना चाहते हैं, तो सभी कतारबद्ध कार्यों के भविष्य.cancel() को आमंत्रित करें।
इस समाधान के साथ निष्कर्ष अभी भी चल रहा है और किसी भी चल रहे कार्यों को रद्द कर दिया गया है या यदि वे पंक्तिबद्ध हैं तो नहीं चलेंगे।
धन्यवाद, मेरा एकमात्र प्रश्न आपके समाधान संग्रह के आकार के बारे में थे क्योंकि मेरे ThreadPoolExecutor को असीमित कार्य प्राप्त होंगे। लेकिन एक मानचित्र
अपने व्यवहार को प्रदर्शित करने वाले ExecutorService
क्यों नहीं बनाते?
getQueue() विधि पर एक नज़र डालें। मुझे पूरा यकीन है कि यह समाशोधन काम करेगा (हालांकि परीक्षण नहीं किया गया)।
GetQueue() केवल कतार में कार्यों को साफ़ कर सकता है। पहले से चल रहे कार्यों के साथ कुछ भी नहीं कर सकता .. – rgomesf
क्या यह केवल getQueue() करने के लिए पर्याप्त नहीं है और इसे साफ़ करें? यदि आपको वास्तव में चल रहे कार्यों को रोकने का प्रयास करने की आवश्यकता है, तो आपको ThreadPoolExecutor को उप-वर्ग करना होगा और अनिवार्य रूप से shutdownNow() को फिर से कार्यान्वित करना होगा, लेकिन केवल उस बिट को कॉपी करें जो प्रत्येक थ्रेड में बाधा भेजता है। आपको याद है कि यह अभी भी कोई गारंटी नहीं है कि आप वास्तव में उन्हें तुरंत बंद कर देंगे और आगे की गणना नहीं करेंगे। यदि आपको ऐसा करने की ज़रूरत है तो आपको एक पूरी तरह से अलग दृष्टिकोण की आवश्यकता होगी।
मैंने पहले से ही shutdownNow() को फिर से कार्यान्वित करने का प्रयास किया है, लेकिन कुछ चर निजी हैं, और उनके बिना मैं जो भी चाहता हूं वह नहीं कर सकता ... – rgomesf
- 1. चल रहे जावा एप्लिकेशन
- 2. ThreadPoolExecutor
- 3. चल रहे जावा एप्लिकेशन
- 4. ThreadPoolExecutor
- 5. जावा में चल रहे थ्रेड को मारना?
- 6. ThreadPoolExecutor के साथ, थ्रेड पूल में चल रहे धागे का नाम कैसे प्राप्त करें?
- 7. ThreadPoolExecutor नीति
- 8. एक चल रहे JVM
- 9. एक चल रहे थ्रेड को बाधित/मारें
- 10. एक लंबे समय से चल रहे डेटाबेस ऑपरेशन को कैसे रद्द करें?
- 11. चल रहे JVM
- 12. धागे में चल रहे जावा तरीके
- 13. किसी अन्य चल रहे जावा एप्लिकेशन
- 14. जावा में चल रहे फ़ाइल का नाम प्राप्त करें?
- 15. ThreadPoolExecutor
- 16. ThreadPoolExecutor
- 17. एक चल रहे mysql क्वेरी को कैसे रोकें
- 18. जावा में प्राथमिकता ThreadPoolExecutor (एंड्रॉइड)
- 19. Google ऐप इंजन (जावा) टास्क क्यूई एपीआई: चल रहे/लंबित कार्यों की संख्या कैसे पूछें?
- 20. चल रहे विंडोज़ सेवा
- 21. ThreadPoolExecutor
- 22. चल रहे टोमकैट
- 23. MATLAB में एक चल रहे प्रोग्राम को कैसे रोकें?
- 24. चल रहे एप्लिकेशन 'https'
- 25. AVCaptureSession के चल रहे
- 26. चल रहे प्रक्रिया (यूनिक्स)
- 27. चल रहे एक्स सर्वर
- 28. ThreadPoolExecutor समस्या
- 29. 100% सीपीयू ले रहे चल रहे जावा प्रोग्राम का पूरा स्टैक ट्रेस कैसे प्राप्त करें?
- 30. वर्तमान चल रहे मॉड्यूल पथ/नाम को कैसे प्राप्त करें
क्या विकल्प मौजूदा निष्पादक सेवा को बंद करने और इसे एक नए से बदलने के लिए मौजूद होगा? – tylermac