TD Java RMI
1) Retour sur les Threads Java
Rappels :
Les méthodes utiles de la classe Threads :
start() : lancer le thread
run() : méthode à redéfinir, contient le code exécuté au lancement du thread
join() : attendre la fin du thread
wait() : endort le thread jusqu'à ce qu'il reçoive un événement
notify()/notifyAll() : réveil un ou tous les threads en attente
Exercice :
1. Concevoir un algorithme parallèle pour le tri d'un tableau en utilisant le principe du
Quicksort.
2. Ecrire le code de l'algorithme de la question 1 en utilisant les Threads Java et en supposant
que l'on dispose d'une méthode partition qui classe les éléments d'un tableau et renvoie
l'indice du pivot dans le tableau.
2) Appel d'une méthode sur un objet distant en Java RMI
Rappels :
Interface de description de l'objet distant
donne la signature des méthodes que l'on peut appeler à distance
doit étendre l'interface java.rmi.Remote
chaque méthode doit lancer l'exception RemoteException (échec de l'appel distant)
Serveur : implémentation de l'interface
code exécuté lors de l'appel distant à une méthode de cet objet
hérite de java.rmi.server.UnicastRemoteObject
Serveur : enregistrement de l'objet distant
créer une instance de l'objet distant
enregistrer cet objet auprès du serveur de nom avec
Naming.rebind(“rmi://host:port/Nom”),
où Nom sert à identifier l'objet distant
(par défaut host = localhost et port = 1099)
Client : appel à une méthode d'un objet distant