Compartilhar via


Função InterlockedExchange8 (winnt.h)

Define uma variável de 8 bits para o valor especificado como uma operação atômica.

Para operar em uma variável de ponteiro, use a função InterlockedExchangePointer.

Para operar em uma variável de 16 bits, use a função InterlockedExchange16.

Para operar em uma variável de 32 bits, use a função InterlockedExchange.

Para operar em uma variável de 64 bits, use a função InterlockedExchange64.

Sintaxe

CHAR InterlockedExchange8(
  [in, out] CHAR volatile *Target,
  [in]      CHAR          Value
);

Parâmetros

[in, out] Target

Um ponteiro para o valor a ser trocado. A função define essa variável como Valore retorna seu valor anterior.

[in] Value

O valor a ser trocado com o valor apontado por Target.

Valor de retorno

A função retorna o valor inicial do parâmetro Target.

Observações

As funções intertravadas fornecem um mecanismo simples para sincronizar o acesso a uma variável compartilhada por vários threads. Essa função é atômica em relação a chamadas para outras funções intertravadas.

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 _InterlockedExchange8.

Essa função gera uma barreira de memória completa (ou cerca) para garantir que as operações de memória sejam concluídas em ordem.

Observação Essa função tem suporte em sistemas baseados em RT do Windows.
 

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 8 [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2012 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winnt.h (inclua Windows.h)

Consulte também

de acesso de variável intertravada

InterlockedCompareExchange

InterlockedExchange

interlockedExchange16

InterlockedExchange16Acquire

InterlockedExchange16NoFence

InterlockedExchange64

InterlockedExchangeAcquire

InterlockedExchangeAcquire64

InterlockedExchangeAdd

InterlockedExchangeNoFence

InterlockedExchangeNoFence64

InterlockedExchangePointer

InterlockedExchangePointerAcquire

InterlockedExchangePointerNoFence

InterlockedExchangeSubtract

Funções de sincronização