Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonction générique atomic_exchange_explicit (C11)

Entête à inclure

#include <stdatomic.h>

Fonction générique atomic_exchange_explicit (C11)

C atomic_exchange_explicit( volatile A *object, C desired, memory_order order );

La fonction générique atomic_exchange_explicit échange une valeur en précisant l'ordre mémoire.

Paramètres

Valeur de retour

La fonction retourne l'ancienne valeur de l'objet.

Exemple de code

L'exemple suivant montre une utilisation simple de cette interface.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
#include <stdatomic.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

    atomic_int value = 10;
    int oldValue = atomic_exchange_explicit( &value, 25, memory_order_acq_rel );

    printf( "ancienne=%d, nouvelle=%d\n", oldValue, atomic_load( &value ) );
    return EXIT_SUCCESS;
}
Exemple d'utilisation de atomic_exchange_explicit

Cet exemple produit l'affichage suivant.

ancienne=10, nouvelle=25

Sujets connexes

La librairie <stdatomic.h>
memory_order
atomic_exchange


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé