boost::atomic
, qui permet de créer des variables atomiques. Elles sont ainsi appelées car leur accès est atomique. Boost.Atomic est utilisé dans les programmes multithread quand l’accès à une variable dans un thread ne peut être interrompu par un autre thread accédant à la même variable. Sans boost::atomic
, les tentatives d’accès à des variables partagées depuis de multiples threads exigeraient d’être synchronisées avec des verroiullages.
boost::atomic
dépend des plateformes cibles supportant l’accès à des variables atomiques. Autrement boost::atomic
utilise les verrouillages. La librarie permet de détecter si une plateforme cible supporte l’accès atomique à des variables.
Si votre palforme de développement supporte C++11, vous n’avez pas besoin de Boost.Atomic. La librarie standard C++11 founit les fichiers d’en-tête atomic définisannt des fonctionnalités identiques à Boost.Atomic. Par exemple, vous diposerez d’une classe nommée std::atomic
.
Boost.Atomic supporte plus ou moins les mêmes fonctionnalités que la librairie standard. Alors que peu de fonctions sont surchargées dans Boost.Atomic, elles peuvent avoir des noms différents dans la bibliothèque standard. La bibliothèque standard propose également quelques fonctions telles que std::atomic_init()
et std::kill_dependency()
, qui sont absente de Boost.Atomic.