Novità della sincronizzazione
Windows include i nuovi elementi di programmazione seguenti per la sincronizzazione.
Windows 8
Nuove funzioni
-
Elimina una barriera di sincronizzazione.
-
Fa sì che il thread chiamante attenda presso una barriera di sincronizzazione fino a quando il numero massimo di thread sia entrato nella barriera.
-
Recupera i risultati di un'operazione sovrapposta nel file, nella named pipe o nel dispositivo di comunicazione specificato entro l'intervallo di timeout specificato. Il thread chiamante può eseguire un'attesa interrompibile.
-
Specifica il numero massimo di thread e numero di rotazioni per una nuova barriera di sincronizzazione.
-
Attende la modifica del valore in corrispondenza dell'indirizzo specificato.
-
Riattiva tutti i thread in attesa della modifica del valore di un indirizzo.
-
Riattiva un thread in attesa della modifica del valore di un indirizzo.
Nuove funzioni interbloccate
-
Esegue un'operazione di addizione atomica sui valori LONG specificati . L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue una somma atomica sui valori LONGLONG specificati di . L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione AND atomica sui valori LONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione AND atomica sui char dei valori specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione AND atomica sui valori SHORT specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione AND atomica sui valori LONGLONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Verifica il bit specificato del valore LONG64 e lo complementa. L'operazione è atomica.
-
Verifica il bit specificato del valore di LONG specificato e lo imposta su 0. L'operazione è atomica e viene eseguita con la semantica di ordinamento della memoria di acquisizione.
-
Verifica il bit specificato del valore di LONG specificato e lo imposta su 0. L'operazione è atomica e viene eseguita usando la semantica di rilascio della memoria.
-
Verifica il bit specificato del valore di LONG specificato e lo imposta su 1. L'operazione è atomica e viene eseguita con la semantica di ordinamento della memoria di acquisizione.
-
Verifica il bit specificato del valore di 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 a 32 bit specificati e scambia con un altro valore a 32 bit in base al risultato del confronto. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 16 bit specificati e scambia 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 a 16 bit specificati e scambia con un altro valore a 16 bit in base al risultato del confronto. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione.
-
Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 16 bit specificati e scambia con un altro valore a 16 bit in base al risultato del confronto. Lo scambio viene eseguito con la semantica di ordinamento della memoria rilasciata.
-
Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 16 bit specificati e scambia con un altro valore a 16 bit in base al risultato del confronto. L'operazione viene eseguita in modo atomico, 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 in modo atomico, 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 specificati e scambia con un altro valore puntatore in base al risultato del confronto. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Decrementa (diminuisce di 1) il valore della variabile a 32 bit specificata con un'operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Decrementa (diminuisce il valore di uno) la variabile a 16 bit specificata come un'operazione atomica.
-
Decrementa (diminuisce di uno) il valore della variabile a 16 bit specificata in modo atomico. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione.
-
Decrementa di uno il valore della variabile a 16-bit specificata come operazione atomica. L'operazione viene eseguita con la semantica di ordinamento della memoria rilasciata.
-
Decrementa (diminuisce di uno) il valore della variabile specificata a 16 bit come operazione atomica. L'operazione viene eseguita in modo atomico, 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 utilizzando la semantica di ordinamento della memoria di acquisizione.
-
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 in modo atomico 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.
-
Incrementa (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 utilizzando la semantica di acquisizione per l'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.
-
Incrementa (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 di 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 LONGLONG e specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria.
-
Inserisce una lista concatenata semplice all'inizio di un'altra lista concatenata semplice. 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 e 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
Nuove funzioni
-
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 SRW (Slim Reader/Writer) 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.