Novità della sincronizzazione
Windows include i nuovi elementi di programmazione seguenti per la sincronizzazione.
Windows 8
Funzioni nuove
-
Elimina una barriera di sincronizzazione.
-
Causa l'attesa del thread chiamante in una barriera di sincronizzazione fino al numero massimo di thread immessi nella barriera.
-
Recupera i risultati di un'operazione sovrapposta nel file specificato, denominata pipe o dispositivo di comunicazione entro l'intervallo di timeout specificato. Il thread chiamante può eseguire un'attesa avvisabile.
-
Specifica il numero massimo di thread e conteggio di spin per una nuova barriera di sincronizzazione.
-
Attende che il valore all'indirizzo specificato venga modificato.
-
Riattiva tutti i thread in attesa del valore di un indirizzo da modificare.
-
Riattiva un thread in attesa del valore di un indirizzo da modificare.
Nuove funzioni interlocked
-
Esegue un'operazione di aggiunta atomica sui valori LONG specificati. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Esegue un'operazione di aggiunta atomica sui valori LONGLONG specificati. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Esegue un'operazione ATOMIC AND sui valori LONG specificati. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Esegue un'operazione ATOMIC AND sui valori char specificati. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Esegue un'operazione ATOMIC AND sui valori SHORT specificati. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Esegue un'operazione ATOMIC AND sui valori LONGLONG specificati. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Verifica il bit specificato del valore LONG64 specificato e lo integra. L'operazione è atomica.
-
Verifica il bit specificato del valore LONG specificato e lo imposta su 0. L'operazione è atomica e viene eseguita con la semantica di acquisizione dell'ordinamento della memoria.
-
Verifica il bit specificato del valore LONG specificato e lo imposta su 0. L'operazione è atomica e viene eseguita usando la semantica della versione della memoria.
-
Verifica il bit specificato del valore LONG specificato e lo imposta su 1. L'operazione è atomica e viene eseguita con la semantica di acquisizione dell'ordinamento della memoria.
-
Verifica il bit specificato del valore LONG specificato e lo imposta su 1. L'operazione è atomica e viene eseguita con la semantica di ordinamento della memoria di rilascio.
-
Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori e scambi a 32 bit specificati con un altro valore a 32 bit in base al risultato del confronto. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori e scambi a 16 bit specificati con un altro valore a 16 bit in base al risultato del confronto.
-
Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori e scambi a 16 bit specificati con un altro valore a 16 bit in base al risultato del confronto. L'operazione viene eseguita con acquisire la semantica di ordinamento della memoria.
-
Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori e scambi a 16 bit specificati con un altro valore a 16 bit in base al risultato del confronto. Lo scambio viene eseguito con la semantica di ordinamento della memoria di rilascio.
-
Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori e scambi a 16 bit specificati con un altro valore a 16 bit in base al risultato del confronto. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 64 bit specificati e scambia con un altro valore a 64 bit in base al risultato del confronto. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 128 bit specificati e scambia con un altro valore a 128 bit in base al risultato del confronto.
-
Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori di puntatore e scambi specificati con un altro valore puntatore in base al risultato del confronto. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Decrementi (diminuisce per uno) il valore della variabile a 32 bit specificata come operazione atomica. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Decrementi (diminuisce per uno) il valore della variabile a 16 bit specificata come operazione atomica.
-
Decrementi (diminuisce per uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita con acquisire la semantica di ordinamento della memoria.
-
Decrementi (diminuisce per uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio.
-
Decrementi (diminuisce per uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita atomicamente, ma senza usare barriere di memoria.
-
Decrementa (diminuisce di uno) il valore della variabile a 64 bit specificata come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Imposta una variabile a 64 bit sul valore specificato come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Imposta una variabile a 8 bit sul valore specificato come operazione atomica.
-
Imposta una variabile a 16 bit sul valore specificato come operazione atomica. L'operazione viene eseguita usando la semantica di ordinamento della memoria.
-
Imposta una variabile a 16 bit sul valore specificato come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Imposta una variabile a 64 bit sul valore specificato come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Scambia atomicamente una coppia di indirizzi. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'aggiunta atomica di due valori a 32 bit. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'aggiunta atomica di due valori a 64 bit. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Incrementi (aumenta di uno) il valore della variabile a 32 bit specificata come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Incrementa (aumenta di uno) il valore della variabile a 16 bit specificata come operazione atomica.
-
Incrementa (aumenta di uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita usando la semantica di ordinamento della memoria.
-
Incrementa (aumenta di uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita usando la semantica di ordinamento della memoria di rilascio.
-
Incrementa (aumenta di uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Incrementi (aumenta di uno) il valore della variabile a 64 bit specificata come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione OR atomica sui valori LONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione OR atomica sui valori char specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione OR atomica sui valori SHORT specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione OR atomica sui valori DI LONGLONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Inserisce un elenco collegato singly all'inizio di un altro elenco collegato singly. L'accesso agli elenchi viene sincronizzato in un sistema multiprocessore. Questa versione del metodo non usa la convenzione di chiamata __fastcall .
-
Esegue un'operazione XOR atomica sui valori LONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione XOR atomica sui valori char specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione XOR atomica sui valori SHORT specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione XOR atomica sui valori DI LONGLONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
Windows 7
Funzioni nuove
-
Attiva il timer waitable specificato e fornisce informazioni di contesto per il timer.
-
Tenta di acquisire un blocco di lettura/scrittura sottile (SRW) in modalità esclusiva. Se la chiamata ha esito positivo, il thread chiamante assume la proprietà del blocco.
-
Tenta di acquisire un blocco di lettura/scrittura sottile (SRW) in modalità condivisa. Se la chiamata ha esito positivo, il thread chiamante assume la proprietà del blocco.
Nuove strutture
-
Contiene informazioni di contesto per un timer attivato con SetWaitableTimerEx.