Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Sincronizzare i Thread su Java, Slide di Informatica

Slide riassuntive sulla sincronizzazione dei vari Thread in Java

Tipologia: Slide

2022/2023

In vendita dal 21/08/2023

sebastiano-garro
sebastiano-garro 🇮🇹

5

(1)

64 documenti

1 / 7

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Java
Sincronizzare i Thread
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Sincronizzare i Thread su Java e più Slide in PDF di Informatica solo su Docsity!

Java

Sincronizzare i Thread

Sincronizzare i Thread

 Per garantire che un solo thread alla volta tenti di modificare uno stesso oggetto occorre sincronizzare i thread consentendo l’accesso alla risorsa ad un thread alla volta, questa proprietà prende il nome di mutua esclusione.  In Java, ad ogni oggetto è associato un mutex (semaforo binario) che consente di sapere se una risorsa è libera o meno. Un mutex supporta le operazioni base di lock e unlock che consentono rispettivamente di bloccare e sbloccare l’accesso esterno ad una risorsa. A ogni oggetto oltre ad un mutex è associata anche una lista d’attesa che contiene le richieste d’accesso, non ancora evase, a quella risorsa.  La parola chiave synchronized permette di utilizzare implicitamente i mutex.

Blocchi sincronizzati con

synchronized(Object)

E’ possibile individuare anche piccole sezioni di

codice critiche, in questo caso invece di utilizzare

un intero metodo, utilizzeremo un blocco

sincronizzato. Queste sezioni di codice

sincronizzati richiedono come argomento l’oggetto

del quale vogliamo acquisire il mutex. Ad

esempio:

synchronized(n) {

// Sezione critica sincronizzata

Blocchi sincronizzati con

synchronized(Object)

●Per il compilatore, il codice appena scritto

equivale a dire:

// Lock del mutex associato a n

// Sezione critica

// Unlock del mutex associato a n