Namespaces
Variants

std::atomic_ref<T>:: is_lock_free

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
bool is_lock_free ( ) const noexcept ;
(C++20부터)

이 객체에 대한 원자 연산이 잠금 없는 방식으로 수행되는지 확인합니다.

목차

매개변수

(없음)

반환값

true 이 객체에 대한 원자 연산이 락-프리인 경우, false 그렇지 않은 경우.

참고 사항

std::atomic_flag 를 제외한 모든 원자적 타입은 잠금 없는 원자적 CPU 명령어를 사용하는 대신 뮤텍스나 기타 잠금 연산을 사용하여 구현될 수 있습니다. 원자적 타입은 때때로 잠금 없이 동작할 수도 있습니다. 예를 들어, 특정 아키텍처에서 정렬된 메모리 접근만 자연스럽게 원자적인 경우, 동일한 타입의 비정렬 객체는 잠금을 사용해야 합니다.

C++ 표준은 락 프리 원자 연산이 또한 주소 무관적이어야 한다고 권장하지만(필수는 아님), 즉 공유 메모리를 사용하는 프로세스 간 통신에 적합해야 합니다.

예제

참고 항목

해당 타입이 항상 lock-free임을 나타냅니다
(public static member constant)