Interfaccia eseguibile in Java: implementazione, passaggi ed errori

Pubblicato: 2021-05-02

Sommario

introduzione

Un'interfaccia eseguibile in Java è un'interfaccia le cui istanze possono essere eseguite come Thread. Durante l'utilizzo di Threads, l'interfaccia eseguibile funge da elemento centrale del linguaggio di programmazione Java. Le classi Java create per eseguire Threads devono implementare questa interfaccia. Questo articolo ti fornirà una conoscenza approfondita dell'interfaccia eseguibile in Java e del processo di implementazione.

Che cos'è l'interfaccia eseguibile in Java?

Un'interfaccia eseguibile è un'interfaccia che contiene un singolo metodo. Il programma Java definisce questo singolo metodo nel pacchetto java.lang e lo richiama all'esecuzione della classe thread. Fornisce un modello per gli oggetti che una classe può implementare utilizzando Threads. È possibile implementare l' interfaccia eseguibile in Java in uno dei seguenti modi:

  • Utilizzo del thread di sottoclasse
  • Sovrascrivere il metodo run()

Java non consente eredità multiple nel programma. Puoi estendere solo una classe e quando estendi una classe thread, consuma più memoria, tempo di calcolo e altre risorse. Quindi, aggiunge il sovraccarico dell'utilizzo di metodi aggiuntivi. Tra le due opzioni precedenti, è meglio utilizzare un'interfaccia eseguibile per creare un thread. Per fare ciò, devi fornire l'implementazione per il metodo run().

Passaggi per la creazione di un thread utilizzando l'interfaccia eseguibile in Java

Eseguire i seguenti passaggi per creare un thread utilizzando l' interfaccia eseguibile in Java .

  1. Crea una classe thread che implementerà l'interfaccia eseguibile.
  2. Nella classe thread, scrivi una funzione per sovrascrivere il metodo run().
  3. Crea un'istanza della classe Thread.
  4. L'istanza del thread ha un costruttore che accetta l'oggetto eseguibile. Passa questo oggetto come parametro all'istanza del thread.
  5. Infine, chiama il metodo start dell'istanza del thread.

Leggi anche: Idee e argomenti del progetto Java

Implementazione dell'interfaccia eseguibile in Java

L'implementazione del metodo run() è il modo più semplice per creare un nuovo thread. Funge da punto di partenza per la creazione di un nuovo thread. L'implementazione dell'interfaccia eseguibile utilizza il codice all'interno del metodo run() e lo esegue su un thread simultaneo. Puoi richiamare la classe, creare nuove variabili o chiamare l'azione nel metodo run() per implementare l' interfaccia eseguibile in Java . Il programma garantisce che il thread sia inattivo finché non stampa l'istruzione return nel codice.

public class TestRunnableInterface {

public static void main(String[] args) {

System.out.println(“Dal metodo primary(): ” + Thread.currentThread().getName());

System.out.println(“Implementazione dell'interfaccia eseguibile in Java ”);

Istanza eseguibile = new Runnable() {@Override

esecuzione vuota pubblica() {

System.out.println(“Dal metodo run(): ” + Thread.currentThread().getName());

}

};

System.out.println("Crea una nuova istanza dell'oggetto thread.");

Thread test = new Thread(istanza);

System.out.println(“Esecuzione del thread!”);

test.start();

}

}

Produzione

Dal metodo primary(): main

Implementazione dell'interfaccia eseguibile in Java

Crea una nuova istanza dell'oggetto thread.

Dal metodo run(): Thread-0

Errori riscontrati durante l'implementazione dell'interfaccia eseguibile in Java

Il metodo run() genera un errore di eccezione di runtime quando il programma si interrompe a causa di un errore di sintassi o di codice. Se una macchina virtuale Java non rileva gli errori, il thread creato gestisce l'eccezione mancata dalla JVM. Il gestore delle eccezioni stampa l'eccezione e arresta il programma.

import java.io.FileNotFoundException;

public class TestRunnableInterface {

public static void main(String[] args) {

System.out.println(“Il thread principale è: ” + Thread.currentThread().getName());

Thread test = new Thread(new TestRunnableInterface().new DemoInstance());

test.start();

}

la classe privata DemoInstance implementa Runnable {

esecuzione vuota pubblica() {

System.out.println(Thread.currentThread().getName() + “, invocando il metodo run()!”);

Tentativo {

lancia nuova FileNotFoundException();

}

catch (dimostrazione FileNotFoundException) {

System.out.println("Errore rilevato!");

demo.printStackTrace();

}

}

}

}

Produzione

Il thread principale è: main

Thread-0, invocando il metodo run()!

Preso un errore!

java.io.FileNotFoundException

su TestRunnableInterface$DemoInstance.run(Example.java:21)

su java.lang.Thread.run(Thread.java:748)

La classe TestRunnableInterface nel programma precedente non genera l'eccezione FileNotFoundException. La macchina virtuale Java si occupa delle eccezioni che avrebbero dovuto essere gestite dalla classe TestRunnableInstance.

Caso d'uso dell'interfaccia eseguibile in Java

L' interfaccia eseguibile in Java viene utilizzata in uno scenario di rete in cui il server riceve più richieste di connessione dai client. L' interfaccia eseguibile in Java lo gestisce in modo rapido ed efficiente eseguendo la programmazione multi-thread.

Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Conclusione

In poche parole, un'interfaccia eseguibile in Java è sempre una scelta migliore rispetto al thread della sottoclasse quando si tratta di creare thread in Java. Il codice utilizzato nell'articolo è solo a scopo esplicativo. È possibile modificare le affermazioni fornite negli esempi secondo le proprie esigenze. In questo articolo, abbiamo appreso l' interfaccia eseguibile in Java e come creare un thread implementando l' interfaccia eseguibile in Java .

Puoi provare il codice per rafforzare le conoscenze del tuo costruttore Java . Se vuoi acquisire una conoscenza approfondita di Java, dai un'occhiata al programma upGrad Executive PG nel corso Full Stack Development . Questo corso è pensato per i professionisti che lavorano e offre una formazione rigorosa e assistenza al lavoro con le migliori aziende.

Che cos'è il multithreading in Java?

Il multithreading è un concetto in Java in cui le attività vengono eseguite contemporaneamente. Consente a un programma di eseguire molte attività diverse contemporaneamente invece di attendere il completamento di una singola attività. È uno degli argomenti più popolari degli sviluppatori Java e Java. Il multithreading è una delle funzionalità molto potenti di Java. Utilizza la CPU in modo efficace eseguendo diversi thread. Java ha un costrutto speciale chiamato thread. Un thread è fondamentalmente un processo software in grado di eseguire sequenze arbitrarie di istruzioni bytecode Java. L'esecuzione di ogni thread è indipendente dagli altri thread. Gli sviluppatori possono creare un nuovo thread in qualsiasi momento e la JVM gestirà l'esecuzione di questo thread. Questo aiuta nello sviluppo di applicazioni altamente scalabili e reattive.

Che cos'è l'interfaccia eseguibile in Java?

L'interfaccia eseguibile viene utilizzata per scrivere applicazioni che possono essere eseguite in un thread separato. Qualsiasi classe che implementa l'interfaccia eseguibile è chiamata thread. Il codice del thread viene eseguito dall'interprete dopo l'avvio del thread. Puoi implementare l'interfaccia eseguibile e creare il tuo programma multithreading. Esistono due modi per implementare questa interfaccia. Il primo consiste nell'usare la sottoclasse thread. L'altro è sovrascrivendo il metodo run().

Come funziona effettivamente il multithreading?