Det er to måter å lage en tråd på:
- Ved å utvide trådklassen
- Ved å implementere Runnable-grensesnitt.
Trådklasse:
Trådklassen gir konstruktører og metoder for å lage og utføre operasjoner på en tråd. Trådklassen utvider Objektklassen og implementerer kjørbart grensesnitt.
Vanlig brukte Constructors of Thread-klassen:
- Tråd()
- Tråd (strengnavn)
- Tråd (Kjørbar r)
- Tråd (Kjørbar r, strengnavn)
Vanlige metoder i trådklassen:
Kjørbart grensesnitt:
Runnable-grensesnittet bør implementeres av enhver klasse hvis forekomster er ment å bli utført av en tråd. Kjørbart grensesnitt har bare én metode kalt run().
streng inn i array java
Starter en tråd:
De start()-metoden of Thread-klassen brukes til å starte en nyopprettet tråd. Den utfører følgende oppgaver:
- En ny tråd starter (med ny callstack).
- Tråden flyttes fra New state til Runnable state.
- Når tråden får en sjanse til å kjøre, vil dens target run()-metode kjøre.
1) Java-trådeksempel ved å utvide trådklassen
Filnavn: 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(); } }
Produksjon:
thread is running...
2) Java-trådeksempel ved å implementere Runnable-grensesnitt
Filnavn: Multi3.java
strengfunksjoner i 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(); } }
Produksjon:
thread is running...
Hvis du ikke utvider Thread-klassen, vil ikke klasseobjektet ditt bli behandlet som et trådobjekt. Så du må eksplisitt opprette Thread-klasseobjektet. Vi sender objektet til klassen din som implementerer Runnable slik at klassen run()-metoden kan kjøres.
3) Bruke trådklassen: tråd(strengnavn)
Vi kan bruke Thread-klassen direkte til å skape nye tråder ved å bruke konstruktørene definert ovenfor.
Filnavn: 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); } }
Produksjon:
My first thread
4) Bruk av trådklassen: tråd (kjørbar r, strengnavn)
Følg følgende program.
understreng i java
Filnavn: 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); } }
Produksjon:
My new thread Now the thread is running ...