Novidades na sincronização
O Windows inclui os novos elementos de programação a seguir para sincronização.
Windows 8
Novas funções
-
Exclui uma barreira de sincronização.
-
Faz com que o thread de chamada aguarde em uma barreira de sincronização até que o número máximo de threads tenha entrado na barreira.
-
Recupera os resultados de uma operação sobreposta no arquivo especificado, pipe nomeado ou dispositivo de comunicações dentro do intervalo de tempo limite especificado. O thread de chamada pode executar uma espera alertável.
-
Especifica o número máximo de threads e a contagem de rotação para uma nova barreira de sincronização.
-
Aguarda a alteração do valor no endereço especificado.
-
Ativa todos os threads que estão aguardando a alteração do valor de um endereço.
-
Ativa um thread que está aguardando a alteração do valor de um endereço.
Novas funções intertravadas
-
Executa uma operação de adição atômica nos valores LONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação de adição atômica nos valores LONGLONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação AND atômica nos valores LONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação AND atômica nos valores char especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação AND atômica nos valores SHORT especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação AND atômica nos valores LONGLONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Testa o bit especificado do valor LONG64 especificado e o complementa. A operação é atômica.
-
Testa o bit especificado do valor LONG especificado e o define como 0. A operação é atômica e é executada com semântica de ordenação de memória adquirida.
-
Testa o bit especificado do valor LONG especificado e o define como 0. A operação é atômica e é executada usando semântica de liberação de memória.
-
Testa o bit especificado do valor LONG especificado e o define como 1. A operação é atômica e é executada com semântica de ordenação de memória adquirida.
-
Testa o bit especificado do valor LONG especificado e o define como 1. A operação é atômica e é executada com semântica de ordenação de memória de liberação.
-
Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 32 bits especificados e troca com outro valor de 32 bits com base no resultado da comparação. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 16 bits especificados e troca com outro valor de 16 bits com base no resultado da comparação.
-
Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 16 bits especificados e troca com outro valor de 16 bits com base no resultado da comparação. A operação é executada com semântica de ordenação de memória de aquisição.
-
Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 16 bits especificados e troca com outro valor de 16 bits com base no resultado da comparação. A troca é executada com semântica de ordenação de memória de versão.
-
Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 16 bits especificados e troca com outro valor de 16 bits com base no resultado da comparação. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 64 bits especificados e troca com outro valor de 64 bits com base no resultado da comparação. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 128 bits especificados e troca com outro valor de 128 bits com base no resultado da comparação.
-
Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de ponteiro especificados e trocas com outro valor de ponteiro com base no resultado da comparação. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Diminui (diminui em um) o valor da variável de 32 bits especificada como uma operação atômica. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Diminui (diminui em um) o valor da variável de 16 bits especificada como uma operação atômica.
-
Diminui (diminui em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é executada com semântica de ordenação de memória de aquisição.
-
Diminui (diminui em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é executada com semântica de ordenação de memória de versão.
-
Diminui (diminui em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Diminui (diminui em um) o valor da variável de 64 bits especificada como uma operação atômica. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Define uma variável de 64 bits para o valor especificado como uma operação atômica. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Define uma variável de 8 bits para o valor especificado como uma operação atômica.
-
Define uma variável de 16 bits para o valor especificado como uma operação atômica. A operação é executada usando semântica de ordenação de memória de aquisição.
-
Define uma variável de 16 bits para o valor especificado como uma operação atômica. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Define uma variável de 64 bits para o valor especificado como uma operação atômica. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Troca atomicamente um par de endereços. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma adição atômica de dois valores de 32 bits. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma adição atômica de dois valores de 64 bits. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Incrementa (aumenta em um) o valor da variável de 32 bits especificada como uma operação atômica. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Incrementa (aumenta em um) o valor da variável de 16 bits especificada como uma operação atômica.
-
Incrementa (aumenta em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é executada usando semântica de ordenação de memória de aquisição.
-
Incrementa (aumenta em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é executada usando semântica de ordenação de memória de liberação.
-
Incrementa (aumenta em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Incrementa (aumenta em um) o valor da variável de 64 bits especificada como uma operação atômica. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação OR atômica nos valores LONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação OR atômica nos valores char especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação OR atômica nos valores SHORT especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação OR atômica nos valores LONGLONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Insere uma lista vinculada na frente de outra lista vinculada. O acesso às listas é sincronizado em um sistema multiprocessador. Esta versão do método não usa a convenção de chamada __fastcall .
-
Executa uma operação XOR atômica nos valores LONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação XOR atômica nos valores char especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação XOR atômica nos valores SHORT especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação XOR atômica nos valores LONGLONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória.
Windows 7
Novas funções
-
Ativa o temporizador de espera especificado e fornece informações de contexto para o temporizador.
-
Tenta adquirir um bloqueio srw (leitor/gravador fino) no modo exclusivo. Se a chamada for bem-sucedida, o thread de chamada assumirá a propriedade do bloqueio.
-
Tenta adquirir um bloqueio srw (leitor/gravador fino) no modo compartilhado. Se a chamada for bem-sucedida, o thread de chamada assumirá a propriedade do bloqueio.
Novas estruturas
-
Contém informações de contexto para um temporizador ativado com SetWaitableTimerEx.