-
La notion des threads
Salut tout le monde ,
J'ai un exercice qui me demande d'écrire un programme C en utilisant 6 threads ( 5 threads et le 6eme sera le programme qui a créer les 5 premiers threads ),
tout en supposant qu'on a 6 taches : lire(a) , lire(b) , lire(c) , L=a+b, S=L/2 .
Quelqu'un peut m'expliquer cet exercice et la notions des threads , ou me donner des exemples semblable pour que je puisse écrire ce programme.
Merci.
-
En cette période de Noël, je vais t'expliquer schématiquement la notion de thread :mrgreen:
Le Père Noël doit construire et empaqueter les cadeaux de millions d'enfants sur Terre. Mais il est seul.
Alors, il a embauché des lutins.
- Une équipe de lutins va construire les cadeaux.
- Une deuxième équipe de lutins va empaqueter les cadeaux.
Pendant ce temps, le Père Noël peut vaquer à ses occupations: récupérer la liste des vœux, nourrir les rennes, fournir un logis aux lutins, ...
Mais, il y a un hic: la deuxième équipe de lutins ne peut pas empaqueter tant que les cadeaux ne sont pas construits. Donc, il faut synchroniser les équipes.
C'est au choix
- Soit la deuxième équipe attend qu'il ait des cadeaux
- Soit elle est formée lorsqu'il y a suffisamment de cadeaux
- Soit elle aide en premier lieu la première équipe à construire les cadeaux
:mrgreen: :mrgreen:
-
+1 pour la réponse imagée.
en plus technique : 1 thread c'est un processus léger Ca permet de faire des taches en parallèle. Si une tache dépend d'une autre, il faut gérer la concurrence avec des sémaphores, des mutex