Je n'étais pas au courant de l' std::atomic
variables, mais était au courant à propos de l' std::mutex
(bizarre à droite!) fournis par la norme; cependant, une chose a attiré mon attention: il y a apparemment deux-même(pour moi) atomique types fournis par la norme, énumérés ci-dessous:
std::atomic<bool>
typestd::atomic_flag
type
Il est aussi mentionné l'exemple d' std::atomic_flag type
-
std::atomic_flag est atomique de type booléen. Contrairement à toutes les spécialisations de std::atomique, elle est garantie sans verrouillage. Contrairement à std::atomique, std::atomic_flag ne fournit pas de charge ou les opérations de banque.
dont je n'arrive pas à comprendre. Est - std::atomic bool type
de ne pas être sans verrouillage? Alors il n'est pas atomique ou quoi?
Alors, quelle est la différence entre les deux et quand dois-je utiliser qui?