C'est un langage qui facilite l'usage des tâches concurrentes.
c est quoi une tache concurrente xzenon?
Bonjour,
Vous me posez une question pour laquelle vous avez déjà sans doute une réponse. Mais bon. Un ordinateur fonctionne par tâches séquentielles. Prenons l'exemple de deux cyclistes en compétition pour décrocher la victoire finale avec une bouteille de Champagne, sur une distance finie D .
Avec la mesure des tâches séquentielles, il faut faire partir le cycliste A puis mesurer son temps parcouru sur la distance, ensuite en faire autant avec le cycliste B. Enfin on mesure les temps d'écarts une fois qu'ils ont été réalisés à la suite. Si le cycliste A met 30 minutes et le cycliste B 20 minutes, il faudra attendre 50 minutes pour avoir le résultat.
Mais on s'est aperçu que l'on pouvait faire démarrer les deux cyclistes en même temps, avec des threads. Quoique le premier qui part a quelques nano-secondes d'avantage. Pas de quoi fouetter un chat. Le thread est la capacité de lancer simultanément le cycliste A et le cycliste B pour que celui qui fait le meilleur temps décroche la bouteille de Champagne. Celui qui arrive le premier réalise la tâche en y mettant fin.
Pour y parvenir le thread est soumis à quelques restrictions. Il partage sa mémoire et souvent ses données, ce qui torture les développeurs à inventer de la mémoire partagée. De plus le thread peut être soudain pris en charge par un processus système, qui va mettre du temps en commutation de contexte, en relais des processeurs.
Par exemple le cycliste A aura gagné la course, mais il n'aura pas sa bouteille de Champagne à Lyon comme il le croyait, mais à Perpignan.
Cordialement.