Função InterlockedIncrement (winnt.h)
Incrementa (aumenta em um) o valor da variável de 32 bits especificada como uma operação atômica.
Para operar em valores de 64 bits, use a função InterlockedIncrement64 .
Sintaxe
LONG InterlockedIncrement(
[in, out] LONG volatile *Addend
);
Parâmetros
[in, out] Addend
Um ponteiro para a variável a ser incrementada.
Valor retornado
A função retorna o valor incrementado resultante.
Comentários
A variável apontada pelo parâmetro Addend deve ser alinhada em um limite de 32 bits; caso contrário, essa função se comportará de forma imprevisível em sistemas x86 multiprocessadores e em sistemas não x86. Confira _aligned_malloc.
As funções interligadas fornecem um mecanismo simples para sincronizar o acesso a uma variável que é compartilhada por vários threads. Essa função é atômica em relação a chamadas para outras funções interligadas.
Essa função é implementada usando um compilador intrínseco sempre que possível. Para obter mais informações, consulte o arquivo de cabeçalho WinBase.h e _InterlockedIncrement.
Essa função gera uma barreira de memória completa (ou limite) para garantir que as operações de memória sejam concluídas em ordem.
Sistemas baseados em Itanium: Para aplicativos críticos ao desempenho, use InterlockedIncrementAcquire ou InterlockedIncrementRelease .
Requisitos
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | winnt.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |