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


Relazione sui thread in Java: Caratteristiche, vantaggi e svantaggi, Appunti di Informatica

Questa relazione illustra i thread in java, loro caratteristiche, vantaggi e svantaggi. I thread, noti anche come processi leggeri, sono una suddivisione di uno o più processi. In java, vengono realizzati tramite librerie di funzioni e utilizzati attraverso la classe thread. I thread hanno stati come creazione, blocco, sblocco e terminazione. Conosciamo i vantaggi come visibilità dei dati globali, più flussi in esecuzione e comunicazioni veloci, ma anche i svantaggi come non lavoro parallelo. Per illustrare meglio, si presenta un esempio di utilizzo di tre thread che simulano il suono di campane.

Tipologia: Appunti

2020/2021

Caricato il 13/01/2022

gianna_02
gianna_02 🇮🇹

3 documenti

1 / 2

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
12/12/2020
RELAZIONE SUI THREAD CON JAVA
In questa relazione si parlerà dei thread ma nello specifico i thread con java. I thread vengono anche chiamati processi
leggeri e sono la suddivisione di uno o più processi. la parte di processo che viene assegnata alla CPU viene chiamata
processo leggero o thread mentre la parte di processo che possiede le risorse viene definita processo pesante. Un thread è un
pezzo di codice che viene eseguito in modo sequenziale dentro ad un processo pesante e tutti condividono le risorse poiché si
trovano tutti nello stesso spazio di indirizzamento e hanno accesso a tutti i dati e questo viene chiamato multithreading. Gli
elementi che caratterizzano il thread vengono chiamati TCB e sono simili al PCB e sono: un identificatore di thread , un
program counter, un insieme di registri, uno stato di esecuzione, un contesto salvato quando i thread non sono utilizzati,
uno stack di esecuzione, uno spazio di memoria privato per le variabili locali, un puntatore al PCB. I thread in java vengono
realizzati tramite librerie di funzioni che a livello utente e che forniscono il supporto alla gestione e sincronizzazione dei
thread. Per usare i thread java mette a disposizione la classe Thread, questa classe è molto importante poiché ha tutti i
metodi per utilizzarli. Per utilizzarli in java però è importate utilizzare il comando run() che contiene tutte le istruzioni. I
thread hanno anche degli stati ossia :
- la creazione ossia quando si crea un processo e automaticamente si crea anche un thread - blocco
quando il thread deve attendere un evento - sblocco
quando si ottiene l’evento che ha messo il thread in blocked - terminazione
quando il thread compie il suo compito. Con l’evoluzione
dell’informatica e della tecnologia ora possiamo anche mettere in esecuzioni più programmi cosa che prima era impossibile
effettuare. I vantaggi e gli svantaggi dei thread :
i vantaggi sono:
-visibilità dei dati globali
-più flussi in esecuzione
- comunicazioni più veloci poiché i thread hanno lo stesso spazio di indirizzamento
I svantaggi sono:
-non lavorano parallelamente ma concorrono tra di loro.
Ipotesi : Secondo me se potessimo
risolvere il problema della concorrenza tra i thread e farli lavorare parallelamente forse potremmo lavorare su molti più
processi. Un esempio di utilizzo dei thread in java può essere di creare 3 thread che simulino ognuno il suono di una
campana ed osservare come a causa della schedulazione e dai processi thread che si trovano nella lista dei processi pronti,
l’output può variare.
Iniziamo creando il main
Successivamente creiamo la classe
pf2

Anteprima parziale del testo

Scarica Relazione sui thread in Java: Caratteristiche, vantaggi e svantaggi e più Appunti in PDF di Informatica solo su Docsity!

RELAZIONE SUI THREAD CON JAVA

In questa relazione si parlerà dei thread ma nello specifico i thread con java. I thread vengono anche chiamati processi leggeri e sono la suddivisione di uno o più processi. la parte di processo che viene assegnata alla CPU viene chiamata processo leggero o thread mentre la parte di processo che possiede le risorse viene definita processo pesante. Un thread è un pezzo di codice che viene eseguito in modo sequenziale dentro ad un processo pesante e tutti condividono le risorse poiché si trovano tutti nello stesso spazio di indirizzamento e hanno accesso a tutti i dati e questo viene chiamato multithreading. Gli elementi che caratterizzano il thread vengono chiamati TCB e sono simili al PCB e sono: un identificatore di thread , un program counter, un insieme di registri, uno stato di esecuzione, un contesto salvato quando i thread non sono utilizzati, uno stack di esecuzione, uno spazio di memoria privato per le variabili locali, un puntatore al PCB. I thread in java vengono realizzati tramite librerie di funzioni che a livello utente e che forniscono il supporto alla gestione e sincronizzazione dei thread. Per usare i thread java mette a disposizione la classe Thread, questa classe è molto importante poiché ha tutti i metodi per utilizzarli. Per utilizzarli in java però è importate utilizzare il comando run() che contiene tutte le istruzioni. I thread hanno anche degli stati ossia :

  • la creazione ossia quando si crea un processo e automaticamente si crea anche un thread - blocco quando il thread deve attendere un evento - sblocco quando si ottiene l’evento che ha messo il thread in blocked - terminazione quando il thread compie il suo compito. Con l’evoluzione dell’informatica e della tecnologia ora possiamo anche mettere in esecuzioni più programmi cosa che prima era impossibile effettuare. I vantaggi e gli svantaggi dei thread : i vantaggi sono: -visibilità dei dati globali -più flussi in esecuzione
  • comunicazioni più veloci poiché i thread hanno lo stesso spazio di indirizzamento I svantaggi sono: -non lavorano parallelamente ma concorrono tra di loro. Ipotesi : Secondo me se potessimo risolvere il problema della concorrenza tra i thread e farli lavorare parallelamente forse potremmo lavorare su molti più processi. Un esempio di utilizzo dei thread in java può essere di creare 3 thread che simulino ognuno il suono di una campana ed osservare come a causa della schedulazione e dai processi thread che si trovano nella lista dei processi pronti, l’output può variare. Iniziamo creando il main Successivamente creiamo la classe

E i risultat che otterremo saranno: