Differenza Tra Eseguibile E Thread

Sommario:

Differenza Tra Eseguibile E Thread
Differenza Tra Eseguibile E Thread

Video: Differenza Tra Eseguibile E Thread

Video: Differenza Tra Eseguibile E Thread
Video: Ядра ЦП против потоков объяснения 2024, Potrebbe
Anonim

Differenza chiave - Runnable vs Thread

Un programma in esecuzione è noto come processo. Il processo può essere suddiviso in più sottoprocessi. Ad esempio, Microsoft Word è un processo. Allo stesso tempo, verifica l'errore di ortografia e la grammatica. Questo è un sottoprocesso. Questi sottoprocessi sono noti come thread. Il multithreading è il processo di esecuzione simultanea di più thread. Le applicazioni in thread possono essere create utilizzando diversi linguaggi di programmazione. Runnable e Thread sono associati alla programmazione Java. Esistono due metodi in Java per creare un thread implementando un'interfaccia Runnable o estendendo la classe Thread. Quando si implementa Runnable, molti thread possono condividere lo stesso oggetto thread mentre nella classe Extending Thread, a ogni thread è associato un oggetto univoco. Questa è la differenza fondamentale tra Runnable e Thread.

CONTENUTI

1. Panoramica e differenza chiave

2. Che cosa è eseguibile

3. Che cos'è il thread

4. Somiglianze tra eseguibile e thread

5. Confronto affiancato - eseguibile e thread in forma tabulare

6. Riepilogo

Cos'è Runnable?

Un thread attraversa alcuni stati. Il "nuovo" è l'inizio del ciclo di vita del filo. Dopo che il metodo start () chiama un nuovo thread, diventa eseguibile. Se lo scheduler del thread seleziona il thread, passa allo stato di esecuzione. Il thread attende lo stato se il thread attende che un altro thread esegua un'attività. Dopo che il thread ha completato il lavoro, passa allo stato di terminazione.

Un thread può essere implementato utilizzando l'interfaccia Runnable. Fare riferimento al programma seguente.

Differenza tra eseguibile e thread
Differenza tra eseguibile e thread

Figura 01: programma Java per creare un thread utilizzando l'interfaccia Runnable

Secondo il programma sopra, la classe Runnable Demo implementa l'interfaccia Runnable. Il metodo run () è all'interno della classe che implementa l'interfaccia Runnable. È il punto di ingresso per il thread. La logica è nel metodo run (). Nel programma principale, viene creato un thread definendo un oggetto che è stato istanziato dalla classe Runnable Demo. È t1. Il metodo start () viene chiamato usando t1.

Fare riferimento al programma seguente.

Differenza tra Runnable e Thread Figure 02
Differenza tra Runnable e Thread Figure 02

Figura 02: programma Java per creare un thread per eseguire un ciclo, implementando l'interfaccia Runnable

Secondo l'esempio precedente, la classe Runnable Demo implementa l'interfaccia Runnable. La logica da eseguire utilizzando il thread è scritta nel metodo run (). Nel programma principale, viene creato un thread definendo un oggetto che è stato istanziato dalla classe Runnable Demo. È t1. Quindi, il metodo start () viene chiamato usando t1.

Cos'è Thread?

L'altro metodo per creare un thread è estendere la classe Thread. Consiste di tre passaggi. Il primo è dichiarare la classe come estensione della classe Thread. Successivamente, dovrebbe essere scritto il metodo run (). Ha la sequenza di passaggi che il thread dovrebbe eseguire. Infine, viene creato l'oggetto thread e viene chiamato il metodo start () per avviare l'esecuzione del thread. Fare riferimento al programma seguente.

Differenza tra Runnable e Thread Figure 03
Differenza tra Runnable e Thread Figure 03

Figura 03: programma Java che estende la classe Thread

Secondo il programma precedente, la classe MyThread estende la classe Thread. Ignora il metodo di esecuzione. Il metodo run () contiene la logica che deve essere eseguita dal thread. È il punto di ingresso al thread. Quindi viene creato l'oggetto thread. È thread1. Il thread viene avviato utilizzando il metodo start (). Eseguirà una chiamata al metodo run ().

Un programma di esempio di due classi che estendono la classe Thread è il seguente.

Differenza chiave tra eseguibile e thread
Differenza chiave tra eseguibile e thread

Figura 04: programma Java con due classi che estendono la classe Thread

Secondo il programma precedente, sia la classe A che la classe B estendono la classe Thread. Entrambe le classi hanno la loro implementazione del metodo run (). Il thread principale è quello che esegue il metodo main (). Prima che il thread principale muoia, crea e avvia thread1 e thread2. Quando il thread principale ha raggiunto la fine del metodo principale, tre thread sono in esecuzione in parallelo. Non esiste un ordine specifico in cui i thread forniscono l'output. Una volta avviato il thread, è difficile decidere l'ordine da eseguire. Corrono indipendentemente.

Quali sono le somiglianze tra eseguibile e thread?

Entrambi stanno usando per creare un thread in Java

Qual è la differenza tra eseguibile e thread?

Articolo diff. Al centro prima della tabella

Runnable vs Thread

Runnable è un'interfaccia in Java per creare un thread che consente a molti thread di condividere lo stesso oggetto thread. Il thread è una classe in Java per creare un thread in cui ogni thread ha un oggetto univoco associato ad esso.
Memoria
In Runnable, più thread condividono lo stesso oggetto, quindi richiedono meno memoria. Nella classe Thread, ogni thread crea un oggetto univoco, quindi richiede più memoria.
Capacità di estensione
Dopo aver implementato l'interfaccia Runnable, può estendere una classe. Le eredità multiple non sono supportate in Java. Dopo aver esteso la classe Thread, non può estendere nessun'altra classe.
Manutenibilità del codice
L'interfaccia eseguibile rende il codice più gestibile. Nella classe Thread, la manutenzione richiede tempo.

Riepilogo: eseguibile vs thread

Un processo è suddiviso in più sottoprocessi per eseguire più attività contemporaneamente. Questi sottoprocessi sono noti come thread. La creazione di istanze di un thread può essere eseguita implementando l'interfaccia Runnable o estendendo la classe Thread. È facile estendere la classe Thread, ma non è una pratica di programmazione orientata agli oggetti migliore. Quando si implementa Runnable, molti thread possono condividere lo stesso oggetto thread mentre nell'estensione della classe Thread ogni thread ha un oggetto univoco associato ad esso. Questa è la differenza tra Runnable e Thread. Nella classe Thread la creazione di più oggetti può consumare più memoria.

Scarica il PDF di Runnable vs Thread

È possibile scaricare la versione PDF di questo articolo e utilizzarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra eseguibile e thread

Raccomandato: