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: Lezione03 - SISTEMI OPERATIVI - Processi e Thread 2024, Novembre
Anonim

Differenza chiave – eseguibile 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, controlla l'errore di ortografia e la grammatica. Questo è un sottoprocesso. Questi processi secondari sono noti come thread. Il multithreading è il processo di esecuzione di più thread contemporaneamente. Le applicazioni threaded possono essere costruite 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, ogni thread ha un oggetto univoco ad esso associato. Questa è la differenza fondamentale tra Runnable e Thread.

Cos'è eseguibile?

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 l'utilità di pianificazione del thread seleziona il thread, passa allo stato di esecuzione. Il thread è in attesa dello stato se il thread è in attesa 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 usando l'interfaccia Runnable. Fare riferimento al programma sottostante.

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 sottostante.

Differenza tra eseguibile e thread_Figure 02
Differenza tra eseguibile e thread_Figure 02

Figura 02: Programma Java per creare un thread per eseguire un loop, implementando l'interfaccia Runnable

Secondo l'esempio sopra, 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'è il thread?

L' altro metodo per creare un thread è estendere la classe Thread. Si compone 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 sottostante.

Differenza tra eseguibile e thread_Figure 03
Differenza tra eseguibile e thread_Figure 03

Figura 03: Programma Java che estende la classe Thread

Secondo il programma sopra, la classe MyThread estende la classe Thread. Sostituisce il metodo di esecuzione. Il metodo run() contiene la logica che deve essere eseguita dal thread. È il punto di ingresso del 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 sopra, sia la classe A che la classe B stanno estendendo la classe Thread. Entrambe le classi hanno la loro implementazione del metodo run(). Il thread principale è 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 danno l'output. Una volta avviato il thread, è difficile decidere l'ordine da eseguire. Funzionano in modo indipendente.

Quali sono le somiglianze tra eseguibile e thread?

Entrambi stanno usando per creare un thread in Java

Qual è la differenza tra eseguibile e thread?

Eseguibile 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 ad esso associato.
Memoria
In Runnable, più thread condividono lo stesso oggetto, quindi richiedono meno memoria. Nella classe Thread, ogni thread crea un oggetto unico, quindi richiede più memoria.
Abilità estesa
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 molto tempo.

Riepilogo – Eseguibile vs Thread

Un processo è suddiviso in più sottoprocessi per eseguire più attività contemporaneamente. Questi processi secondari sono noti come thread. L'istanza 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 ad esso associato. 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

Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra eseguibile e Thread

Consigliato: