Der er to måder at oprette en tråd på:
- Ved at udvide trådklassen
- 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:
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
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 ...