Det finns två sätt att skapa en tråd:
- Genom att utöka trådklassen
- Genom att implementera ett körbart gränssnitt.
Trådklass:
Trådklassen tillhandahåller konstruktörer och metoder för att skapa och utföra operationer på en tråd. Trådklassen utökar objektklassen och implementerar ett körbart gränssnitt.
Vanligt använda Constructors of Thread klass:
- Tråd()
- Tråd (strängnamn)
- Tråd (körbar r)
- Tråd (körbar r, strängnamn)
Vanliga metoder för trådklass:
Körbart gränssnitt:
Det körbara gränssnittet bör implementeras av alla klasser vars instanser är avsedda att exekveras av en tråd. Körbart gränssnitt har bara en metod som heter run().
java objekt
Starta en tråd:
De start() metod of Thread-klassen används för att starta en nyskapad tråd. Den utför följande uppgifter:
- En ny tråd startar (med ny callstack).
- Tråden flyttas från New state till Runnable state.
- När tråden får en chans att köra körs dess target run()-metod.
1) Java-trådsexempel genom att utöka trådklassen
Filnamn: 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(); } }
Produktion:
thread is running...
2) Java-trådsexempel genom att implementera ett körbart gränssnitt
Filnamn: Multi3.java
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(); } }
Produktion:
2 till 1 multiplexor
thread is running...
Om du inte utökar klassen Thread kommer ditt klassobjekt inte att behandlas som ett trådobjekt. Så du måste uttryckligen skapa klassobjektet Thread. Vi skickar objektet för din klass som implementerar Runnable så att din class run()-metod kan köras.
3) Använda trådklassen: tråd(strängnamn)
Vi kan direkt använda klassen Thread för att skapa nya trådar med hjälp av konstruktörerna definierade ovan.
Filnamn: 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); } }
Produktion:
My first thread
4) Använda trådklassen: tråd (körbar r, strängnamn)
Observera följande program.
Filnamn: 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); } }
Produktion:
dolda appar på den här enheten
My new thread Now the thread is running ...