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


MultiThreading Java per programmazione ad oggetti, Schemi e mappe concettuali di Programmazione Orientata agli Oggetti

Spiegazione di cosa sono i thread e i vari metodi collegati ad essi.Come si crea un thread,le varie istanze dei thread.

Tipologia: Schemi e mappe concettuali

2021/2022

Caricato il 27/03/2023

luigi_sciliberto
luigi_sciliberto 🇮🇹

1 documento

1 / 30

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Multithreading in
Java
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Anteprima parziale del testo

Scarica MultiThreading Java per programmazione ad oggetti e più Schemi e mappe concettuali in PDF di Programmazione Orientata agli Oggetti solo su Docsity!

Multithreading in

Java

Vantaggi del multithreading Java

1)Non blocca l'utente perché i thread sono indipendenti ed è possibile dunque eseguire più operazioni contemporaneamente. 2)È possibile eseguire molte operazioni insieme in modo da risparmiare tempo. 3)I thread sono indipendenti , quindi se si verifica un'eccezione in un singolo thread questo non influisce sugli altri.

Cos’è un Thread in Java ▶ Un thread è un sottoprocesso leggero, una più piccola unità di elaborazione. È un percorso di esecuzione separato. ▶ I thread sono indipendenti, se si verifica un'eccezione in un thread, non influisce sugli altri thread. Condividono un'area di memoria comune.

Ciclo di vita di un Thread

Il ciclo di vita dei thread in Java è controllato da JVM. Gli stati del thread in java sono i seguenti: ▶ New ▶ Runnable ▶ Running ▶ Non-Runnable (Blocked) ▶ Terminated

  1. New ▶ Il thread è nello stato new se si crea un'istanza della classe Thread ma prima dell'invocazione del metodo start().
  2. Runnable ▶ Il thread è nello stato runnable dopo l'invocazione del metodo start(), ma il thread scheduler non lo ha ancora selezionato come thread in esecuzione (running thread)
  3. Running ▶ Il thread è nello stato running se il thread scheduler lo ha selezionato.
  4. Non-Runnable (Blocked) ▶ Questo è lo stato in cui il thread è ancora vivo, ma non idoneo per l'esecuzione.
  5. Terminated ▶ Un thread è in stato terminated o dead quando il suo metodo run() esce.

Come creare dei thread Estendendo la classe Thread Implementando l'interfaccia Runnable. Classe Thread: ▶ La classe Thread fornisce costruttori e metodi per creare ed eseguire operazioni su un thread. La classe Thread estende la classe Object e implementa l'interfaccia Runnable. Costruttori della classe Thread comunemente usati:

  1. Thread()
  2. Thread(String name)
  3. Thread(Runnable r)
  4. Thread(Runnable r,String name)

class A extends Thread { public void run() {for (int i=0;i<=5;i++) System.out.println("In thread A"+i); System.out.println("Exiting thread A"); } } class B extends Thread { public void run() {for (int j=0;j<=5;j++) System.out.println("In thread B"+j); System.out.println("Exiting thread B"); } } class ThreadDemo { public static void main (String args[]) { A oba = new A(); oba.start(); B obb=new B(); obb.start(); } }

Interfaccia Runnable:

L'interfaccia Runnable dovrebbe essere

implementata da qualsiasi classe le cui

istanze devono essere eseguite da un

thread.

L'interfaccia Runnable ha un solo metodo

chiamato run().

▶ public void run(): viene utilizzato per

eseguire un'azione per un thread