Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Tâche de Multithreading | Notions de Base du Multithreading
Multithreading en Java
course content

Contenu du cours

Multithreading en Java

Multithreading en Java

1. Notions de Base du Multithreading
2. Collections Synchronisées
3. Mécanismes de Synchronisation de Haut Niveau
4. Meilleures Pratiques de Multithreading

book
Tâche de Multithreading

Tâche

Vous devez écrire la logique pour créer 100 threads, chacun d'eux calculera le factoriel de l'indice dans une boucle et enregistrera le résultat dans le tableau results. Vous devez également attendre que tous les threads soient terminés avant d'afficher les résultats. (méthode join())

Les méthodes factorial(), printMassive(), getResults() sont prêtes à l'emploi et vous n'avez pas besoin de les modifier de quelque manière que ce soit

factorial(Integer) - calcule le factoriel du nombre que vous avez passé en paramètre;

printMassive(BigInteger[]) - imprime le tableau des résultats sur la console;

getResults() - donne le tableau des résultats (utilisé pour les tests);

SIZE_MASSIVE - constante pour définir la valeur du tableau (NE PAS CHANGER);

results[] - tableau pour enregistrer les résultats.

Une fois que vous avez terminé la tâche, allez à src/test/java/TaskThreadTest.java et exécutez-le

Vous ne devriez avoir qu'un seul test à réussir la première fois que vous l'exécutez

Lorsque vous effectuez correctement la tâche, tous les tests devraient réussir. Si un test ne réussit pas, alors vous avez mal implémenté calculateFactorialsInParallel() ou modifié ces champs/méthodes qui ne peuvent pas être modifiés.

Plan de mise en œuvre

  1. Créer un tableau de threads : Configurez un tableau d'objets Thread, où chaque élément correspond à un thread différent. La taille du tableau doit correspondre au tableau que vous traitez (SIZE_MASSIVE = 100).

  2. Initialiser chaque thread : Dans une boucle qui parcourt chaque élément du tableau, créez un nouveau thread. Dans ce thread, effectuez la tâche requise (calculer le factoriel de l'index). Stockez le résultat dans le tableau de résultats.

  3. Démarrer les threads : Une fois chaque thread créé, initiez-le en appelant la méthode start().

  4. Attendre que tous les threads soient terminés : Après avoir démarré tous les threads, utilisez la méthode join() sur chaque thread pour vous assurer que le thread principal du programme attend que tous les threads soient terminés. Cela garantit que tous les calculs sont terminés avant que le thread principal du programme ne continue.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 7
We're sorry to hear that something went wrong. What happened?
some-alt