atomic_store, atomic_store_explicit
|
Défini dans l'en-tête
<stdatomic.h>
|
||
|
void
atomic_store
(
volatile
A
*
obj , C desired
)
;
|
(1) | (depuis C11) |
|
void
atomic_store_explicit
(
volatile
A
*
obj, C desired,
memory_order
order
)
;
|
(2) | (depuis C11) |
Remplace atomiquement la valeur de la variable atomique pointée par
obj
avec
desired
. L'opération est une opération d'écriture atomique.
La première version ordonne les accès mémoire selon
memory_order_seq_cst
, la seconde version ordonne les accès mémoire selon
order
.
order
doit être l'un des suivants :
memory_order_relaxed
,
memory_order_release
ou
memory_order_seq_cst
. Sinon, le comportement est indéfini.
Ceci est une
fonction générique
définie pour tous les
types d'objets atomiques
A
. L'argument est un pointeur vers un type atomique volatile pour accepter les adresses des objets atomiques non volatiles et
volatiles
(par exemple les E/S mappées en mémoire), et la sémantique volatile est préservée lors de l'application de cette opération aux objets atomiques volatiles.
C
est le type non atomique correspondant à
A
.
Il n'est pas spécifié si le nom d'une fonction générique est une macro ou un identifiant déclaré avec liaison externe. Si une définition de macro est supprimée pour accéder à une fonction réelle (par exemple mise entre parenthèses comme ( atomic_store ) ( ... ) ), ou si un programme définit un identifiant externe portant le nom d'une fonction générique, le comportement est indéfini.
Table des matières |
Paramètres
| obj | - | pointeur vers l'objet atomique à modifier |
| order | - | l'ordre de synchronisation mémoire pour cette opération |
Valeur de retour
(aucun)
Références
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.17.7.1 Les fonctions génériques atomic_store (p: 206)
- Norme C11 (ISO/IEC 9899:2011) :
-
- 7.17.7.1 Les fonctions génériques atomic_store (p: 282)
Voir aussi
|
lit une valeur depuis un objet atomique
(fonction) |
|
|
Documentation C++
pour
atomic_store
,
atomic_store_explicit
|
|