Concurrency

La concurrence permet à une unité centrale de traitement (CPU) d'exécuter plusieurs tâches simultanément sur une certaine période de temps. Ces tâches ou processus ne dépendent pas les uns des autres. La concurrence facilite la transition rapide entre différentes applications sur un ordinateur, par exemple; il semble que différents processus s'exécutent exactement au même moment. Mais au lieu de cela, le CPU alterne rapidement entre les threads, qui sont de minuscules segments de processus informatiques. Techniquement, un processeur ne peut exécuter qu'un seul thread à la fois, mais la concurrence lui permet de basculer entre les tâches afin qu'elles semblent s'exécuter simultanément. C'est ce qu'on appelle le multithreading.

La concurrence permet aux programmes informatiques de s'exécuter correctement en exécutant différentes tâches sur un processeur pendant le même laps de temps général, mais ces tâches ne dépendent pas toutes les unes des autres, ni ne sont parallèles. En revanche, le parallélisme exécute en fait les tâches entièrement en même temps, plutôt que de se déplacer rapidement entre elles. L'un des avantages de la technologie multicœur est qu'elle permet à un seul processeur d'effectuer un traitement en parallèle.

La concurrence donne à un ordinateur avec un seul processeur plus de flexibilité en lui permettant de décider quand et pendant combien de temps travailler sur des tâches. La concurrence diffère également des processus séquentiels ou de la programmation: les processus séquentiels sont terminés un à la fois, tandis que les processus simultanés n'ont pas à être terminés avant qu'un autre ne commence: ils peuvent être divisés de la manière la plus efficace.

La concurrence peut être appliquée aux systèmes informatiques et aux langages de programmation. Les langages de programmation qui utilisent la concurrence sont Java, Python, Rust et Go.


Laisser un commentaire