logo

Java-säikeet | Kuinka luoda säiettä Javassa

Voit luoda säikeen kahdella tavalla:

  1. Laajentamalla Thread-luokkaa
  2. Toteuttamalla Runnable käyttöliittymä.

Viestiluokka:

Thread-luokka tarjoaa rakentajia ja menetelmiä säikeen toimintojen luomiseen ja suorittamiseen. Thread-luokka laajentaa Object-luokkaa ja toteuttaa ajettavan käyttöliittymän.

Yleisesti käytetyt Constructors of Thread -luokan:

  • Lanka()
  • Lanka (merkkijonon nimi)
  • Säie (ajettava r)
  • Säie (ajettava r, merkkijonon nimi)

Yleisesti käytetyt Thread-luokan menetelmät:

    julkinen void run():käytetään toiminnon suorittamiseen säikeelle.julkinen void start():aloittaa säikeen suorittamisen. JVM kutsuu säikeen run()-metodia.julkinen tyhjä uni (pitkiä millisekunteja):Aiheuttaa parhaillaan suoritettavan säikeen nukkumaan (lopettaa suorituksen väliaikaisesti) määritetyksi määräksi millisekunteja.public void join():odottaa langan kuolemista.julkinen void -liitos (pitkiä millisekunteja):odottaa langan kuolemista määritettyjen millisekuntien ajan.julkinen int getPriority():palauttaa ketjun prioriteetin.julkinen int setPriority(int priority):muuttaa ketjun prioriteettia.julkinen merkkijono getName():palauttaa ketjun nimen.public void setName(merkkijonon nimi):muuttaa ketjun nimeä.julkinen säie currentThread():palauttaa parhaillaan suoritettavan säikeen viitteen.julkinen int getId():palauttaa ketjun tunnuksen.julkinen Thread.State getState():palauttaa langan tilan.julkinen boolean isAlive():testaa, onko lanka elossa.public void tuotto():aiheuttaa parhaillaan suoritettavan säieobjektin keskeyttämisen tilapäisesti ja sallii muiden säikeiden suorittamisen.julkinen voi keskeyttää():käytetään langan ripustamiseen (poistettu).julkinen mitätön ansioluettelo():käytetään jatkamaan keskeytettyä lankaa (poistettu).julkinen void stop():käytetään langan pysäyttämiseen (poistettu).julkinen boolean isDaemon():testaa, onko säie demon-säie.public void setDaemon(boolean b):merkitsee säiettä demoniksi tai käyttäjäsäikeeksi.julkinen void keskeytys():katkaisee langan.julkinen boolean isInterrupted():testaa, onko lanka katkennut.julkinen staattinen boolean keskeytetty():testaa, onko nykyinen säie katkennut.

Suoritettava käyttöliittymä:

Runnable-rajapinta tulee toteuttaa missä tahansa luokassa, jonka ilmentymät on tarkoitettu suoritettavaksi säikeellä. Ajettavassa käyttöliittymässä on vain yksi menetelmä nimeltä run().

char + int javassa
    julkinen void run():käytetään toiminnon suorittamiseen säikeelle.

ketjun aloittaminen:

The start()-menetelmä of Thread -luokkaa käytetään äskettäin luodun säikeen aloittamiseen. Se suorittaa seuraavat tehtävät:

  • Uusi säiettä alkaa (uudella kutsupinolla).
  • Säie siirtyy New-tilasta Runnable-tilaan.
  • Kun säie saa mahdollisuuden suorittaa, sen target run() -metodi suoritetaan.

1) Java-säieesimerkki laajentamalla Thread-luokkaa

Tiedoston nimi: 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(); } } 

Lähtö:

aakkoset numeroissa
 thread is running... 

2) Java-säieesimerkki toteuttamalla Runnable interface

Tiedoston nimi: 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(); } } 

Lähtö:

 thread is running... 

Jos et laajenna Thread-luokkaa, luokkasi objektia ei käsitellä säieobjektina. Joten sinun on luotava erikseen Thread-luokan objekti. Välitämme luokkasi objektin, joka toteuttaa Runnable-funktion, jotta luokkasi run()-metodi voi toimia.

3) Säieluokan käyttäminen: Säie (merkkijonon nimi)

Voimme suoraan käyttää Thread-luokkaa uusien säikeiden synnyttämiseen käyttämällä yllä määriteltyjä rakentajia.

Tiedoston nimi: MyThread1.java

java hashmap
 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); } } 

Lähtö:

 My first thread 

4) Säieluokan käyttäminen: Thread (Ajettava r, merkkijonon nimi)

Huomioi seuraava ohjelma.

Tiedoston nimi: 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); } } 

Lähtö:

 My new thread Now the thread is running ...