std::atomic_is_lock_free, ATOMIC_xxx_LOCK_FREE
De cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
<metanoindex/>
<tbody> </tbody>| Definido no cabeçalho <atomic>
|
||
template< class Atomic > bool atomic_is_lock_free(const volatile Atomic* obj) |
(1) | (desde C++11) |
template< class Atomic > bool atomic_is_lock_free(const Atomic* obj) |
(2) | (desde C++11) |
#define ATOMIC_CHAR_LOCK_FREE /* unspecified */ #define ATOMIC_CHAR16_T_LOCK_FREE /* unspecified */ #define ATOMIC_CHAR32_T_LOCK_FREE /* unspecified */ #define ATOMIC_WCHAR_T_LOCK_FREE /* unspecified */ #define ATOMIC_SHORT_LOCK_FREE /* unspecified */ #define ATOMIC_INT_LOCK_FREE /* unspecified */ #define ATOMIC_LONG_LOCK_FREE /* unspecified */ #define ATOMIC_LLONG_LOCK_FREE /* unspecified */ #define ATOMIC_POINTER_LOCK_FREE /* unspecified */ |
(3) | (desde C++11) |
1-2)
Determina se o objeto atômico apontado por
obj é implementado sem bloqueio, como se chamando obj->is_lock_free()Original:
Determines if the atomic object pointed to by
obj is implemented lock-free, as if by calling obj->is_lock_free()The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
3)
Expande a uma expressão constante inteira com
0 valor para o built-in tipos atômicos que nunca são lock-livre, para 1 para o built-in tipos atômicos, que são, por vezes, sem bloqueio, e para 2 para o built-in tipos atômicos que são sempre lock-livre.Original:
Expands to an integer constant expression with value
0 for the built-in atomic types that are never lock-free, to 1 for the built-in atomic types that are sometimes lock-free, and to 2 for the built-in atomic types that are always lock-free.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Notas
Todos os tipos atômicos, exceto para std::atomic_flag podem ser implementados usando semáforos ou operações de bloqueio outros, em vez de usar os sem bloqueio instruções da CPU atômicas. Tipos atômicos também estão autorizados a ser às vezes lock-livre, por exemplo, se os acessos à memória apenas alinhados são naturalmente atômica sobre uma dada arquitetura, os objetos desalinhados do mesmo tipo tem que usar fechaduras. Se o tipo é, por vezes, sem bloqueio, em seguida, a função de (1-2) ou o seu equivalente função de membro tem de ser usado para determinar se o caso em particular é livre de bloqueio.
Original:
All atomic types except for std::atomic_flag may be implemented using mutexes or other locking operations, rather than using the lock-free atomic CPU instructions. Atomic types are also allowed to be sometimes lock-free, e.g. if only aligned memory accesses are naturally atomic on a given architecture, misaligned objects of the same type have to use locks. If the type is sometimes lock-free, then the function (1-2) or its member function equivalent has to be used to determine if the particular instance is lock-free.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Parâmetros
| obj | - | ponteiro para o objeto atômico para examinar
Original: pointer to the atomic object to examine The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Valor de retorno
true se *obj é um lock-livre atômica, false outra forma.Original:
true if *obj is a lock-free atomic, false otherwise.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Exceções
Exemplo
| Esta seção está incompleta Motivo: sem exemplo |
Veja também
Verifica se o objeto atômico é lock-livre Original: checks if the atomic object is lock-free The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (of std::atomic função pública membro)
| |
especializada operações atômicas para std::shared_ptr Original: specializes atomic operations for std::shared_ptr The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (modelo de função) | |
(C++11) |
o lock-livre tipo boolean atômica Original: the lock-free boolean atomic type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (classe) |