O que há de novo na sincronização
O Windows inclui os seguintes novos elementos de programação 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ção dentro do intervalo de tempo limite especificado. O thread de chamada pode executar uma espera alertável.
-
Especifica o número máximo de encadeamentos e a contagem de iterações para uma nova barreira de sincronização.
-
Aguarda que o valor no endereço especificado seja alterado.
-
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 interligadas
-
Executa uma operação de adição atômica nos valores especificados LONG. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação de adição atómica nos valores LONGLONG especificados. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação atômica AND nos valores especificados LONG. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação AND atómica nos valores de caracteres de especificados. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação atômica AND nos valores especificados SHORT. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação atómica AND nos valores de LONGLONG especificados. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Testa o bit especificado do valor de especificado LONG64 e complementa-o. A operação é atómica.
-
Testa o bit especificado do valor de LONG especificado e o define como 0. A operação é atômica e é realizada com a semântica de ordenação de memória de aquisição.
-
Testa o bit especificado do valor LONG especificado e define-o como 0. A operação é atômica e é realizada usando semântica de liberação de memória.
-
Testa o bit especificado do valor LONG especificado e define-o como 1. A operação é atômica e é realizada com a semântica de ordenação de memória.
-
Testa o bit especificado do valor de LONG e define-o como 1. A operação é atômica e é realizada com semântica de ordenação de memória de liberação.
-
Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 32 bits e troca por um outro valor de 32 bits com base no resultado da comparação. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores especificados de 16 bits e troca por outro valor de 16 bits com base no resultado da comparação.
-
Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 16 bits especificados e substitui um desses por outro valor de 16 bits com base no resultado da comparação. A operação é realizada com a semântica de ordenação de memória de aquisição.
-
Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 16 bits especificados e troca por outro valor de 16 bits com base no resultado da comparação. A troca é realizada com semântica de ordenação de memória de liberação.
-
Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 16 bits especificados e troca por outro valor de 16 bits com base no resultado da comparação. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 64 bits especificados e, com base no resultado da comparação, troca-os por outro valor de 64 bits. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 128 bits especificados e troca por um terceiro valor de 128 bits com base no resultado da comparação.
-
Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de ponteiro especificados e troca com outro valor de ponteiro com base no resultado dessa comparação. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Decrementa (diminui uma unidade) o valor da variável de 32 bits especificada de forma atómica. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Decrementa o valor da variável de 16 bits especificada como uma operação atômica.
-
Decrementa (diminui em uma unidade) o valor da variável de 16 bits especificada como uma operação atómica. A operação é efetuada com semântica de ordenação de memória de aquisição.
-
Decrementa 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 liberação.
-
Decrementa (diminui em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Decrementa (diminui em uma unidade) o valor da variável de 64 bits especificada como uma operação atômica. A operação é realizada 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 é realizada 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 é realizada usando a 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 é realizada 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 é realizada atomicamente, mas sem usar barreiras de memória.
-
Atomicamente troca um par de endereços. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma adição atômica de dois valores de 32 bits. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma adição atômica de dois valores de 64 bits. A operação é realizada 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 é realizada 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 é realizada usando a 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 a 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 é realizada 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 é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação atômica OR nos valores especificados LONG. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação OR atómica sobre os valores de caractere especificados de. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação atômica OR nos valores especificados SHORT. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação atómica OR nos valores LONGLONG especificados. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Insere uma lista vinculada individualmente na frente de outra lista vinculada individualmente. 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 especificados LONG. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação XOR atómica nos valores de caracteres especificados por e. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação XOR atômica nos valores especificados SHORT. A operação é realizada atomicamente, mas sem usar barreiras de memória.
-
Executa uma operação XOR atómica nos valores LONGLONG especificados. A operação é realizada 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 fino de leitor/gravador (SRW) no modo exclusivo. Se a chamada for bem-sucedida, o thread de chamada assume a propriedade do bloqueio.
-
Tenta adquirir um bloqueio fino de leitor/gravador (SRW) no modo compartilhado. Se a chamada for bem-sucedida, o thread de chamada assume a propriedade do bloqueio.
Novas Estruturas
-
Contém informações de contexto para um temporizador ativado com SetWaitableTimerEx.