Exercice 1.1
Ecrire un premier programme qui lance plusieurs threads. Chaque thread affichera à l'écran son nom ainsi qu'un indice de boucle i qui variera de 1 à 10. Pour cette valeur d'indice on affichera le résultat de fibonacci(i). Au bout de 10 itérations on arrêtera le thread.
On calculera les valeurs de fibonacci de manière récursive.
On rappelle que :
Exercice 1.2
Ecrire un programme qui lance plusieurs threads (1 à 20). Chaque thread calcule fibonacci(i+1) ou i représentera son indice dans un tableau (i= 0, .., 19). Faire en sorte que l'on termine l'ensemble des calculs avant de calculer la somme des résultats.
On pensera à utiliser join
Exercice 1.3
Ecrire un programme qui lance plusieurs threads. Chaque thread calcule fibonacci(i+1) ou i représentera son indice dans un tableau. Faire en sorte que l'on effectue la somme dès qu'un résultat est prêt.
Exercice 1.4
Combien de thread peut on lancer au maximum en Java ?
Exercice 1.5
Quel gain existe t-il entre un traitement parallèle et un traitement séquentiel en Java ?
Exercice 1.6
On désire modéliser une chaîne de production de voitures. La chaîne est alimentée par d'autres chaînes de production (ou chaînes d'approvisionnement) en entrée :
Les chaînes d'approvisionnement produisent à intervalles réguliers des éléments qui composent la voiture (pneu, moteur, carrosserie). Dès que 4 pneus, 1 moteur et 1 carroserie sont disponibles ils sont mis sur la chaîne de production de voitures pour être assemblés et on considère qu'une nouvelle voiture sera produite.
Le but du programme est de vérifier en fonction du nombre de chaînes d'approvisionnement et de la fréquence de production des éléments si on arrive à un état stable, c'est à dire qu'on ne produit pas plus de pneus que nécessaire par exemple.
Modéliser le problème, puis l'implanter. On testera avec les paramètres suivants. Indiquez, dès qu'une nouvelle voiture est produite, le nombre de pneus, moteurs et carrosseries en attente. Puis dessiner (gnuplot) l'évolution des éléments en entrée.
Jeu de données 1
Tire factories | 3 |
Tire frequency | 1 min |
Motor factories | 3 |
Motor frequency | 5 min |
Body factories | 1 |
Body frequency | 4 min |
Ici, Tire Factories représente le nombre de chaînes d'approvisionnement pour les pneus, il y en a donc 3 et chacune produit un pneu toutes les 1 min.
Jeu de données 2
Tire factories | 2 |
Tire frequency | 1 min |
Motor factories | 3 |
Motor frequency | 5 min |
Body factories | 2 |
Body frequency | 4 min |
Dans chacun des cas, déterminez la durée de production de 50 voitures.