Namespaces
Variants

atomic_flag_test_and_set, atomic_flag_test_and_set_explicit

From cppreference.net
헤더 파일에 정의됨 <stdatomic.h>
_Bool atomic_flag_test_and_set ( volatile atomic_flag * obj ) ;
(1) (C11 이후)
_Bool atomic_flag_test_and_set_explicit ( volatile atomic_flag * obj, memory_order order ) ;
(2) (C11 이후)

obj 가 가리키는 atomic_flag 의 상태를 원자적으로 설정 상태( true )로 변경하고 이전 값을 반환합니다. 첫 번째 버전은 메모리 접근을 memory_order_seq_cst 에 따라 정렬하며, 두 번째 버전은 메모리 접근을 order 에 따라 정렬합니다.

인수는 비휘발성 및 volatile (예: 메모리 매핑된 I/O) 원자 플래그의 주소를 모두 수용하기 위한 volatile 원자 플래그에 대한 포인터입니다.

목차

매개변수

obj - 수정할 atomic flag 객체에 대한 포인터
order - 이 연산에 대한 메모리 동기화 순서: 모든 값이 허용됨

반환값

obj 가 가리키는 원자 플래그가 이전에 보유하고 있던 값입니다.

참고문헌

  • C17 표준 (ISO/IEC 9899:2018):
  • 7.17.8.1 atomic_flag_test_and_set 함수들 (p: 209)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.17.8.1 atomic_flag_test_and_set 함수들 (p: 285-286)

참고 항목

atomic_flag를 false로 설정
(함수)
C++ documentation for atomic_flag_test_and_set , atomic_flag_test_and_set_explicit