Casa Sviluppo Cos'è la sincronizzazione dei thread? - definizione da techopedia

Cos'è la sincronizzazione dei thread? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa Sincronizzazione thread?

La sincronizzazione dei thread è l'esecuzione simultanea di due o più thread che condividono risorse critiche. I thread devono essere sincronizzati per evitare conflitti di utilizzo delle risorse critiche. In caso contrario, potrebbero verificarsi conflitti quando i thread in esecuzione parallela tentano di modificare una variabile comune contemporaneamente.

Techopedia spiega la sincronizzazione dei thread

Per chiarire la sincronizzazione dei thread, considerare il seguente esempio: tre thread - A, B e C - vengono eseguiti contemporaneamente e devono accedere a una risorsa critica, Z. Per evitare conflitti durante l'accesso a Z, i thread A, B e C devono essere sincronizzati . Pertanto, quando A accede a Z e B tenta anche di accedere a Z, l'accesso di Z a Z deve essere evitato con misure di sicurezza fino a quando A termina il suo funzionamento e esce da Z.


In Java, vengono utilizzate due strategie di sincronizzazione per prevenire l'interferenza tra thread e errori di coerenza della memoria:

  • Metodo sincronizzato: include la parola chiave sincronizzata nella sua dichiarazione. Quando un thread richiama un metodo sincronizzato, il metodo sincronizzato acquisisce automaticamente il blocco intrinseco per l'oggetto di quel metodo e lo rilascia quando il metodo ritorna, anche se quel ritorno è stato causato da un'eccezione non rilevata.
  • Dichiarazione sincronizzata: dichiara un blocco di codice da sincronizzare. A differenza dei metodi sincronizzati, le istruzioni sincronizzate dovrebbero specificare gli oggetti che forniscono il blocco intrinseco. Queste dichiarazioni sono utili per migliorare la concorrenza con una sincronizzazione dettagliata, in quanto consentono di evitare blocchi inutili.

Cos'è la sincronizzazione dei thread? - definizione da techopedia