English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ci sono due metodi per creare nuovi thread di esecuzione. Uno è dichiarare una classe come sottoclasse di Thread. Questa sottoclasse deve sovrascrivere il metodo run della classe Thread. Poi è possibile assegnare e avviare un'istanza della sottoclasse.
Un altro metodo per creare un thread è dichiarare una classe che implementa l'interfaccia Runnable. Poi, la classe implemente il metodo run. Poi può assegnare un'istanza di questa classe, passarla come parametro durante la creazione di Thread e avviarla.
Ogni thread ha un nome per essere riconosciuto. Più di un thread possono avere lo stesso nome. Se non viene specificato un nome durante la creazione del thread, verrà generato un nuovo nome.
Numero | Chiave | Linea | Eseguibile |
---|---|---|---|
1 | Base | Thread è una classe. Utilizzata per creare thread | Runnable è un'interfaccia funzionale utilizzata per creare thread |
2 | Metodi | Ha molti metodi, tra cuistart() erun() | Ha solo metodi astratti run() |
3 | Ogni thread crea un oggetto unico e lo associa | Molte thread condividono lo stesso oggetto. | |
4 | Memoria | Richiede più memoria | Richiede meno memoria |
5 | Limitazioni | In Java non è permesso il multiplo ereditamento, quindi una volta che una classe ha esteso la classe Thread, non può estendere altre classi | Se una classe sta implementando l'interfaccia Runnable, la tua classe può estendere un'altra classe. |
class RunnableExample implements Runnable{ public void run(){ System.out.println("Thread è in esecuzione per l'implementazione Runnable"); } public static void main(String args[]){ RunnableExample runnable = new RunnableExample(); Thread t1 = new Thread(runnable); t1.start(); } }
class ThreadExample extends Thread{ public void run(){ System.out.println("Thread è in esecuzione"); } public static void main(String args[]){ ThreadExample t1 = new ThreadExample(); t1.start(); } }