Skip to content

Latest commit

 

History

History
31 lines (30 loc) · 1.51 KB

risorseCondivise.md

File metadata and controls

31 lines (30 loc) · 1.51 KB

RisorseCondivise

Le seguenti figure rappresentano tre diverse situazioni per due thread che condividono una o due risorse non condivisibili.
st08 svg
In questo primo caso i due thread non possono usare la risorsa non condivisibile in contemporanea (zona V) e quindi non possono entrare in zona vietata.
st09 svg
In questo secondo caso ogni singolo thread usa due risorse e vie è un momento in cui le usa entrambe, ma i due tread accedono in modo analogo alle risorse (prima la prima risorsa e poi la seconda). st10 svg
In quest'ultimo caso i thread accedono in modo diverso alle risorse (in ordine opposto): non possono accedere ad alcune zone (zona I) e si intrappolano in altre (zona T) dando luogo ad un deadlock.
Viene realizzata la classe

Task

che rappresenta il compito (Runnable) di un singolo thread. Tale classe accederà alle risorse. La classe

Risorsa

realizza mediante un semaforo binario (un solo permits) la risorsa. Le tre figure saranno illustrate mediante simulazione rispettivamente nei file

Simul1.java
Simul2.java
Simul3.java

Un file

README.md

per la documentazione in cui apparirà il proprio nome. Mettere il tutto nella directory

RisorseCondivise