मैं एक कक्षा की तलाश में हूं जहां मैं काम करने के लिए एक विधि को ओवरराइड कर सकता हूं, और परिणामों को एक पुनरावर्तक की तरह वापस कर सकता हूं। कुछ इस तरह:जावा समांतर काम इटरेटर?
ParallelWorkIterator<Result> itr = new ParallelWorkIterator<Result>(trials,threads) {
public Result work() {
//do work here for a single trial...
return answer;
}
};
while (itr.hasNext()) {
Result result = itr.next();
//process result...
}
यह मुख्य रूप से मोंटे कार्लो सिमुलेशन जैसी चीजों के लिए इस्तेमाल किया जा रहा है, लेकिन मैं धागा पूल की स्थापना और लौटने धागे हर बार प्रबंधन के साथ सौदा करने के लिए नहीं करना चाहती। मैंने अपनी खुद की कक्षा को लुढ़काया कि उम्मीद है कि इसे पूरा करता है, लेकिन मुझे इसमें पर्याप्त भरोसा नहीं है और मैंने सोचा कि मैं यह जांचूंगा कि ऐसा कुछ पहले से मौजूद है या नहीं।
संपादित करें: स्पष्ट होने के लिए, मैं चाहता हूं कि यह पृष्ठभूमि में चलना जारी रखें और प्रत्येक कार्य विधि पूर्ण होने तक प्रत्येक कार्य विधि लौटाए जाने के बाद परिणाम प्राप्त करें। तो अगली विधि कतार में नतीजा होने तक लौटने की प्रतीक्षा कर सकती है।
धन्यवाद, ऐसा लगता है कि यह सब कुछ मैं चाहता हूं। मेरी इच्छा है कि जावा इतना वर्बोज़ नहीं था। – job
वर्बोज़ और अस्पष्ट एक डबल धार वाली तलवार का आधा हिस्सा है। –
वर्बोजिटी को संभालने के लिए मैंने जो किया वह एक रैपर वर्ग लिखता है जो एक्जिक्यूटर्स कॉम्प्लिशन सेवा प्रदान करता है, और सबमिट किए गए फ़्यूचर्स की एक सूची रखता है। एक सार्वजनिक बूलियन है() {वापसी 0
Tim