Les traitements concurrents

Ils permettent d'exécuter plusieurs tâches simultanément. Ils sont utilisés pour accroître le volume de réponse d'un traitement ou la vitesse de calcul, une partie du programme s'exécute tandis qu'une autre partie attend des informations pour poursuivre. Tous les languages modernes de programmation apportent ces possibilités. Le support apporté par la librairie standard C++ depuis 20 ans est largement supporté par les matériels (microprocesseurs) existants. Le premier objectif de la librairie standard est d'abord de répondre de manière optimale aux possibiliéts du matériel, plutôt que de s'engager dans des traitements sophistiqués de modèles de parallélisation.Ceci peut être obtenu par la construction de librairie spécifiques s'appuyant sur les facilités offertes par  la librairie standard.

La librarie standard supporte des exécutions concurrentes ou de multiple filet de calcul (thread) dans un même espace d'adresse. Pour permettre cela, la librarie standard apporte des modèles de gestion mémoire et un ensemble d'utilitaire portant sur des opérations élémentaires. Cependant les exécutions concurrentes sont généralement perçues comme des possibilités de la librarie standard ou de construction à partir de celle-ci.

Nous introduisons brièvement des examples de support par la librairie standard  de tâches concurrentes : threads, mutexes, lock(), pacakaged_tasks, futures. Ces caractéristiques sont construites directement selon les possibiltés du système d'exploitation, sans pénaliser les performances.

Tâches et filets (Thread)

Nous appelons tâche un calcul qui peut être mené de manière concurrente avec un autre calcul. Le  filet (thread) est le niveau de représentation d'une tâche dans une programme. 

 

 

 

 

 

Nous utilisons des cookies. Ils sont activés sur ce sites/, êtes vous d'accord ? Des infos sur les Cookies => ICI informations privées.

  J'accepte les cookies de ce site.
EU Cookie Directive plugin by www.channeldigital.co.uk