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 atomic_flag_test_and_set_explicit (C11)

Entête à inclure

#include <stdatomic.h>

Fonction atomic_flag_test_and_set_explicit (C11)

_Bool atomic_flag_test_and_set_explicit( volatile atomic_flag *object, memory_order order );

La fonction atomic_flag_test_and_set_explicit place le drapeau atomique à l'état positionné en précisant l'ordre mémoire et retourne son ancien état.

Paramètres

Valeur de retour

La fonction retourne l'ancien état du drapeau.

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 
 13 
#include <stdatomic.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

    atomic_flag flag = ATOMIC_FLAG_INIT;
    int oldState = atomic_flag_test_and_set_explicit( &flag, memory_order_acquire );

    printf( "old=%d\n", oldState );
    atomic_flag_clear( &flag );
    return EXIT_SUCCESS;
}
Exemple d'utilisation de atomic_flag_test_and_set_explicit

Cet exemple produit l'affichage suivant.

old=0

Sujets connexes

La librairie <stdatomic.h>
atomic_flag
memory_order


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