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