Esistono due modi per creare un thread:
- Estendendo la classe Thread
- Implementando l'interfaccia Runnable.
Classe del 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 comunemente usati della classe Thread:
- Filo()
- Discussione (nome stringa)
- Discussione (eseguibile r)
- Thread(Eseguibile r,nome stringa)
Metodi comunemente usati della classe Thread:
Interfaccia eseguibile:
L'interfaccia Runnable dovrebbe essere implementata da qualsiasi classe le cui istanze devono essere eseguite da un thread. L'interfaccia eseguibile ha un solo metodo denominato run().
Java che ordina un elenco
Inizio di una discussione:
IL metodo start() della classe Thread viene utilizzata per avviare un thread appena creato. Svolge i seguenti compiti:
- Inizia un nuovo thread (con il nuovo stack di chiamate).
- Il thread passa dallo stato Nuovo allo stato Eseguibile.
- Quando il thread avrà la possibilità di essere eseguito, verrà eseguito il suo metodo run() di destinazione.
1) Esempio di thread Java estendendo la classe Thread
Nome del file: Multi.java
class Multi extends Thread{ public void run(){ System.out.println('thread is running...'); } public static void main(String args[]){ Multi t1=new Multi(); t1.start(); } }
Produzione:
thread is running...
2) Esempio di thread Java implementando l'interfaccia Runnable
Nome del file: Multi3.java
tabella di verità completa del sommatore
class Multi3 implements Runnable{ public void run(){ System.out.println('thread is running...'); } public static void main(String args[]){ Multi3 m1=new Multi3(); Thread t1 =new Thread(m1); // Using the constructor Thread(Runnable r) t1.start(); } }
Produzione:
thread is running...
Se non stai estendendo la classe Thread, l'oggetto della tua classe non verrà trattato come un oggetto thread. Quindi è necessario creare esplicitamente l'oggetto della classe Thread. Stiamo passando l'oggetto della tua classe che implementa Runnable in modo che il metodo run() della tua classe possa essere eseguito.
3) Utilizzo della classe Thread: Thread(Nome stringa)
Possiamo utilizzare direttamente la classe Thread per generare nuovi thread utilizzando i costruttori definiti sopra.
Nome del file: MyThread1.java
public class MyThread1 { // Main method public static void main(String argvs[]) { // creating an object of the Thread class using the constructor Thread(String name) Thread t= new Thread('My first thread'); // the start() method moves the thread to the active state t.start(); // getting the thread name by invoking the getName() method String str = t.getName(); System.out.println(str); } }
Produzione:
My first thread
4) Utilizzo della classe Thread: Thread(Eseguibile r, Nome stringa)
Osservare il seguente programma.
la migliore auto del mondo
Nome del file: MyThread2.java
public class MyThread2 implements Runnable { public void run() { System.out.println('Now the thread is running ...'); } // main method public static void main(String argvs[]) { // creating an object of the class MyThread2 Runnable r1 = new MyThread2(); // creating an object of the class Thread using Thread(Runnable r, String name) Thread th1 = new Thread(r1, 'My new thread'); // the start() method moves the thread to the active state th1.start(); // getting the thread name by invoking the getName() method String str = th1.getName(); System.out.println(str); } }
Produzione:
My new thread Now the thread is running ...