/ / Comment convertir une méthode de synchronisation en méthode async en Java 1.4 [fermé] - java, java1.4

Comment convertir une méthode de synchronisation en méthode async en Java 1.4 [fermé] - java, java1.4

J'ai besoin de convertir une méthode de synchronisation comme celle-ci:

method (String, String, Object)

à une méthode asynchrone.

Le problème principal est que nous travaillons avec Java 1.4 et que je ne peux pas utiliser Executor, Future, ...

Des idées?

Réponses:

1 pour la réponse № 1

Définir une interface de rappel (si on n'est pas déjà "disponible) et faites en sorte que votre méthode prenne l'interface en paramètre. La méthode s’exécutera et fera son travail, et quand elle sera terminée, elle appellera le rappel.

Exemple:

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

devient

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

Callback est quelque chose comme

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

Il est préférable d’utiliser des types génériques pour la Callback résultat (GWT, par exemple, utilise un générique AsyncCallback<ResultType> identique à l'interface ci-dessus), mais comme les génériques ne sont pas disponibles dans la version 1.4, Object et jeter ou avoir différents Callback interfaces pour différents retours. Comparez avec l'un des *Listener interfaces dans Swing / AWT.