Spec-Zone.ru › C++

std::atomic_ref<T>::is_lock_free

bool is_lock_free() const noexcept;
(с C++20)

Проверяет, являются ли атомарные операции над этим объектом без блокировок.

Параметры

(нет)

Возвращаемое значение

true если атомарные операции над этим объектом без блокировок, false в противном случае.

Примечания

Все атомарные типы, кроме std::atomic_flag, могут быть реализованы с использованием мьютексов или других операций блокировки, а не с использованием атомарных инструкций процессора без блокировок. Атомарные типы также могут быть иногда без блокировок, например, если только выровненные обращения к памяти естественным образом атомарны на данной архитектуре, невыровненные объекты того же типа должны использовать блокировки.

Стандарт C++ рекомендует (но не требует), чтобы атомарные операции без блокировок также были без адреса, то есть подходят для взаимодействия между процессами с использованием общей памяти.

Пример

См. также

is_always_lock_free
[статический]
указывает, что тип всегда без блокировок
(публичная статическая константа)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/atomic/atomic_ref/is_lock_free

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API