logo

Java-tråder | Hvordan lage en tråd i Java

Det er to måter å lage en tråd på:

  1. Ved å utvide trådklassen
  2. 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:

    public void run():brukes til å utføre handling for en tråd.offentlig ugyldig start():starter kjøringen av tråden.JVM kaller run()-metoden på tråden.offentlig ugyldig søvn (lange millisekunder):Får den kjørende tråden til å hvile (midlertidig opphører kjøringen) i det angitte antallet millisekunder.public void join():venter på at en tråd skal dø.offentlig ugyldig deltakelse (lange millisekunder):venter på at en tråd dør i de angitte millisekunder.public int getPriority():returnerer prioritet til tråden.offentlig int setPriority(int priority):endrer prioritet til tråden.offentlig streng getName():returnerer navnet på tråden.public void setName(strengnavn):endrer navnet på tråden.offentlig tråd gjeldende tråd():returnerer referansen til tråden som kjøres for øyeblikket.offentlig int getId():returnerer id-en til tråden.offentlig Thread.State getState():returnerer tilstanden til tråden.offentlig boolesk isAlive():tester om tråden er i live.offentlig ugyldig avkastning():fører til at trådobjektet som kjører for øyeblikket midlertidig stopper og lar andre tråder kjøres.public void suspend():brukes til å suspendere tråden (avskrevet).offentlig ugyldig CV():brukes til å gjenoppta den suspenderte tråden (avskrevet).offentlig ugyldig stopp():brukes til å stoppe tråden (avskrevet).offentlig boolsk isDaemon():tester om tråden er en demon-tråd.public void setDaemon(boolsk b):merker tråden som demon eller brukertråd.offentlig ugyldig avbrudd():avbryter tråden.offentlig boolsk er avbrutt():tester om tråden har blitt avbrutt.offentlig statisk boolsk avbrutt():tester om den gjeldende tråden er avbrutt.

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
    public void run():brukes til å utføre handling for en tråd.

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 ...