/ / जावा 1.4 [बंद] - जावा, java1.4 में सिंक विधि को async विधि में कैसे परिवर्तित किया जाए

जावा 1.4 [बंद] - जावा, java1.4 में सिंक विधि को async विधि में कैसे परिवर्तित किया जाए

मुझे अगले की तरह एक सिंक विधि बदलने की आवश्यकता है:

method (String, String, Object)

एक async विधि के लिए।

मुख्य समस्या यह है कि हम जावा 1.4 के साथ काम करते हैं और मैं "एक्जिक्यूटर, फ्यूचर, ... का उपयोग नहीं कर सकता ...

कोई विचार?

उत्तर:

उत्तर № 1 के लिए 1

कॉलबैक इंटरफ़ेस परिभाषित करें (यदि कोई पहले से ही नहीं है)उपलब्ध) और अपने तरीके को इंटरफ़ेस को एक पैरामीटर के रूप में लें। विधि बंद हो जाएगी और अपना काम करेगी, और जब यह समाप्त हो जाता है, तो यह कॉलबैक कहता है।

उदाहरण:

int synchronousMethod(int arg0, String arg1) {
int result = doStuff();
return result;
}

हो जाता है

void asynchronousMethod(int arg0, String arg1, Callback callback) {
try {
int result = doStuff();
} catch (Throwable t) {
callback.onFailure(t);
return;
}
callback.onSuccess(result);
}

कहा पे Callback कुछ ऐसा है

interface Callback {
onSuccess(int result);
onFailure(Throwable t);
}

यह के लिए सामान्य प्रकार का उपयोग करने के लिए बेहतर है Callback परिणाम (GWT, उदाहरण के लिए, एक सामान्य उपयोग करता है AsyncCallback<ResultType> यह ऊपर दिए गए इंटरफ़ेस के समान है), लेकिन चूंकि जेनरिक 1.4 में उपलब्ध नहीं है, आप या तो उपयोग कर सकते हैं Object और कास्ट या अलग है Callback विभिन्न रिटर्न के लिए इंटरफेस। किसी भी के साथ तुलना करें *Listener स्विंग / AWT में इंटरफेस।