0% ont trouvé ce document utile (0 vote)
135 vues1 page

Multithreading et Multicast en GLSI3

Le document décrit trois exercices sur le développement d'applications réparties utilisant des threads et le multicast. L'exercice 1 concerne la création de threads pour compter, l'exercice 2 un serveur TCP multithreadé, et l'exercice 3 le calcul de factorielles en multicast.

Transféré par

Dolores Abernathy
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
135 vues1 page

Multithreading et Multicast en GLSI3

Le document décrit trois exercices sur le développement d'applications réparties utilisant des threads et le multicast. L'exercice 1 concerne la création de threads pour compter, l'exercice 2 un serveur TCP multithreadé, et l'exercice 3 le calcul de factorielles en multicast.

Transféré par

Dolores Abernathy
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Faculté des Sciences de Bizerte A.

U 2021/2022
Section GLSI3 27 octobre 2021

Développement d’applications réparties


Travaux dirigés N° 4 : Multithreading et Multicast

Exercice 1 Compteurs
1. Créer un thread permettant de compter de 1 à n (n est donné). A chaque étape, le
thread marque des pauses d’une durée aléatoire inférieure à 10 ms. Lorsqu’il finit, le
thread affiche son nom à l’écran.
2. Que donne le test lorsqu’on on lance 4 threads différents ? Qui finit le premier ?
3. Empêcher l’utilisateur de créer deux threads avec le même nom.
4. Permettre à chaque thread d’afficher son nom et son classement dès qu’il termine.
5. Attendre la fin des threads puis afficher l’ordre d’arrivée.

Exercice 2 Serveur TCP multithreadé


1. Donner deux exemples ou le Multithreading améliore la performance.
2. Est ce que le Multithreading améliore toujours les performances ?
3. Proposer un modèle C/S d’une application dans laquelle le serveur peut envoyer, selon
la demande du client, la date ou la version de la machine virtuelle. Un client peut aussi
envoyer une requête pour arrêter le serveur.
4. Écrire une classe java appelée ConnectionHandler permettant de traiter une requête
client.
5. Proposer une version multithreadée du serveur. A l’arrivée d’une requête, un thread
est créé pour la traiter (ConnectionHandler sera un thread ici).

Exercice 3 Calcul de la factorielle en Multicast


1. Proposer une application dans laquelle le client envoie des requêtes UDP pour de-
mander la valeur de la factorielle d’un entier. Pour faciliter le travail, proposer une
classe Message contenant les données à envoyer au serveur et offrant deux méthodes
permettant de convertir les messages vers et depuis un tableau d’octets.
2. Mettre à jour votre application pour que le calcul puisse être effectué sur un groupe de
serveurs. Puisque plusieurs réponses peuvent arriver à une seule requete, il faut allouer
un thread pour gérer les réponses.
3. Le problème qui se présente alors est qu’une requête du client peut avoir plusieurs
réponses, mettre à jour l’application. Vérifier le bon fonctionnement sur un exemple
bien choisi.
4. Votre application est elle sensible à la panne d’un serveur ? Généraliser au cas où les
serveurs sont avec état.

1/1 Khaled Barbaria

Vous aimerez peut-être aussi