Logo it.boatexistence.com

Come funziona la parola chiave sincronizzata in Java?

Sommario:

Come funziona la parola chiave sincronizzata in Java?
Come funziona la parola chiave sincronizzata in Java?

Video: Come funziona la parola chiave sincronizzata in Java?

Video: Come funziona la parola chiave sincronizzata in Java?
Video: JAVA: Syncronized, granularità, e Locking (M08-E05) 2024, Maggio
Anonim

1. La parola chiave sincronizzata in Java viene utilizzata per fornire l'accesso mutuamente esclusivo a una risorsa condivisa con più thread in Java La sincronizzazione in Java garantisce che nessun thread possa eseguire un metodo sincronizzato che richieda lo stesso blocco contemporaneamente o contemporaneamente.

Come funziona internamente la parola chiave sincronizzata?

Può essere approssimativamente descritto come ogni blocco di sincronizzazione con istruzioni invisibili all'ingresso e all'uscita, il primo che dice "leggi tutto dalla memoria condivisa per essere -data possibile" e l'ultimo che dice "ora scarica tutto ciò che hai fatto lì nella memoria condivisa ".

Come sincronizzi le variabili in Java?

Usa la parola chiave sincronizzata L'uso della parola chiave sincronizzata sui metodi richiederà ai thread di ottenere un blocco sull'istanza di sample. Pertanto, se un qualsiasi thread è in newmsg, nessun altro thread sarà in grado di ottenere un blocco sull'istanza di sample, anche se stesse tentando di invocare getmsg.

Qual è la necessità di una parola chiave sincronizzata in Java?

Quindi è necessario sincronizzare l'azione di più thread e assicurarsi che solo un thread possa accedere alla risorsa in un dato momento Questo è implementato usando un concetto chiamati monitor. Ogni oggetto in Java è associato a un monitor, che un thread può bloccare o sbloccare.

Come vengono sincronizzati i thread in Java?

In java, ogni oggetto ha un singolo blocco (monitor) ad esso associato. Il thread che sta entrando nel metodo sincronizzato o nel blocco sincronizzato otterrà quel blocco, tutti gli altri thread che restano per utilizzare le risorse condivise devono attendere il completamento del primo thread e il rilascio del blocco.

Consigliato: