std::atomic_ref<T>:: is_lock_free
From cppreference.net
<
cpp
|
atomic
|
atomic ref
C++
Concurrency support library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::atomic_ref
| Member functions | ||||
|
atomic_ref::is_lock_free
|
||||
|
(C++26)
|
||||
|
Operations for arithmetic types
(except
bool
and pointer-to-object)
|
||||
|
Operations for integral types
(except
bool
and pointer-to-object)
|
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
|
Operations for integral types
(except
bool
)
|
||||
| Constants | ||||
|
bool
is_lock_free
(
)
const
noexcept
;
|
(C++20부터) | |
이 객체에 대한 원자 연산이 잠금 없는 방식으로 수행되는지 확인합니다.
목차 |
매개변수
(없음)
반환값
true 이 객체에 대한 원자 연산이 락-프리인 경우, false 그렇지 않은 경우.
참고 사항
std::atomic_flag 를 제외한 모든 원자적 타입은 잠금 없는 원자적 CPU 명령어를 사용하는 대신 뮤텍스나 기타 잠금 연산을 사용하여 구현될 수 있습니다. 원자적 타입은 때때로 잠금 없이 동작할 수도 있습니다. 예를 들어, 특정 아키텍처에서 정렬된 메모리 접근만 자연스럽게 원자적인 경우, 동일한 타입의 비정렬 객체는 잠금을 사용해야 합니다.
C++ 표준은 락 프리 원자 연산이 또한 주소 무관적이어야 한다고 권장하지만(필수는 아님), 즉 공유 메모리를 사용하는 프로세스 간 통신에 적합해야 합니다.
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
참고 항목
|
[static]
|
해당 타입이 항상 lock-free임을 나타냅니다
(public static member constant) |