logo

Java-tråde | Sådan opretter du en tråd i Java

Der er to måder at oprette en tråd på:

  1. Ved at udvide trådklassen
  2. Ved at implementere Runnable interface.

Tråd klasse:

Thread-klassen giver konstruktører og metoder til at skabe og udføre operationer på en tråd. Thread-klassen udvider Object-klassen og implementerer Runnable-grænseflade.

Almindeligt anvendte Constructors of Thread klasse:

  • Tråd()
  • Tråd (strengnavn)
  • Tråd (Kørbar r)
  • Tråd (Runnable r, String name)

Almindelig anvendte metoder i trådklassen:

    public void run():bruges til at udføre handling for en tråd.offentlig ugyldig start():starter udførelsen af ​​tråden.JVM kalder run()-metoden på tråden.offentlig ugyldig søvn (lange millisekunder):Får den aktuelt eksekverende tråd til at gå i dvale (midlertidigt ophører med udførelsen) i det angivne antal millisekunder.public void join():venter på at en tråd dør.public void join(lange millisekunder):venter på, at en tråd dør i de angivne millisekunder.public int getPriority():returnerer trådens prioritet.public int setPriority(int priority):ændrer trådens prioritet.offentlig streng getName():returnerer navnet på tråden.public void setName(String name):ændrer navnet på tråden.offentlig tråd nuværende tråd():returnerer referencen til tråden, der kører i øjeblikket.public int getId():returnerer id'et for tråden.offentlig Thread.State getState():returnerer trådens tilstand.offentlig boolean isAlive():tester om tråden er i live.offentligt ugyldigt udbytte():får det aktuelt kørende trådobjekt til midlertidigt at pause og tillade andre tråde at køre.offentlig ugyldig suspendering():bruges til at suspendere tråden (afskrevet).offentligt ugyldigt CV():bruges til at genoptage den suspenderede tråd (afskrevet).offentlig ugyldig stop():bruges til at stoppe tråden (afskrevet).public boolean isDaemon():tester om tråden er en dæmontråd.public void sætDaemon(boolsk b):markerer tråden som dæmon eller brugertråd.public void interrupt():afbryder tråden.offentlig boolean er afbrudt():tester om tråden er blevet afbrudt.offentlig statisk boolesk afbrudt():tester om den aktuelle tråd er blevet afbrudt.

Kørbar grænseflade:

Den Runnable-grænseflade skal implementeres af enhver klasse, hvis instanser er beregnet til at blive eksekveret af en tråd. Kørbar grænseflade har kun én metode kaldet run().

c# datetime
    public void run():bruges til at udføre handling for en tråd.

Starter en tråd:

Det start() metode of Thread-klassen bruges til at starte en nyoprettet tråd. Den udfører følgende opgaver:

  • En ny tråd starter (med ny callstack).
  • Tråden flyttes fra New state til Runnable-tilstand.
  • Når tråden får en chance for at udføre, vil dens target run()-metode køre.

1) Java-trådseksempel ved at udvide 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(); } } 

Produktion:

 thread is running... 

2) Java Thread Eksempel ved at implementere Runnable interface

Filnavn: Multi3.java

vende strengen 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(); } } 

Produktion:

 thread is running... 

Hvis du ikke udvider Thread-klassen, vil dit klasseobjekt ikke blive behandlet som et trådobjekt. Så du skal eksplicit oprette Thread-klasseobjektet. Vi sender objektet for din klasse, der implementerer Runnable, så din klasse run()-metode kan udføres.

3) Brug af trådklassen: tråd (strengnavn)

Vi kan direkte bruge Thread-klassen til at skabe nye tråde ved hjælp af konstruktørerne defineret 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); } } 

Produktion:

 My first thread 

4) Brug af trådklassen: tråd (kørbar r, strengnavn)

Overhold 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); } } 

Produktion:

 My new thread Now the thread is running ...