logo

Java gijos | Kaip sukurti giją Java

Yra du būdai sukurti giją:

  1. Išplėsdami gijų klasę
  2. Įdiegus Runnable sąsają.

Gijos klasė:

Siūlų klasė suteikia konstruktorius ir metodus, leidžiančius kurti ir atlikti operacijas su gijomis. Siūlų klasė išplečia objektų klasę ir įgyvendina paleidžiamą sąsają.

Dažniausiai naudojami siūlų klasės konstruktoriai:

  • Tema()
  • Siūlas (eilutės pavadinimas)
  • Siūlas (vykdomas r)
  • Siūlas (vykdomas r, eilutės pavadinimas)

Dažniausiai naudojami Thread klasės metodai:

    viešas galiojantis bėgimas ():naudojamas gijos veiksmui atlikti.vieša negaliojanti pradžia ():pradeda gijos vykdymą.JVM gijoje iškviečia metodą run().viešas tuščias miegas (ilgos milisekundės):Sukelia šiuo metu vykdomos gijos užmigdymą (laikinai sustabdo vykdymą) nurodytam skaičiui milisekundžių.public void prisijungti ():laukia, kol gija numirs.viešas galiojantis prisijungimas (ilgos milisekundės):laukia, kol gija numirs nurodytas milisekundes.viešas int getPriority():grąžina gijos prioritetą.viešas int rinkinysPrioritetas(int priority):pakeičia gijos prioritetą.vieša eilutė getName():grąžina gijos pavadinimą.public void setName (eilutės pavadinimas):pakeičia gijos pavadinimą.vieša tema currentThread():grąžina šiuo metu vykdomos gijos nuorodą.viešas int getId():grąžina gijos ID.public Thread.State getState():grąžina gijos būseną.viešas loginis isAlive():patikrina, ar siūlas gyvas.viešas galiojantis pelnas ():dėl to šiuo metu vykdomas gijos objektas laikinai pristabdo ir leidžia vykdyti kitas gijas.viešas negaliojantis sustabdymas ():naudojamas sriegiui pakabinti (nuimamas).viešas negaliojantis gyvenimo aprašymas ():naudojamas pakabinamam sriegiui atnaujinti (nutrūkęs).vieša negaliojanti stotelė ():naudojamas sriegiui sustabdyti (sumažėjęs).viešoji loginė isDaemon():patikrina, ar gija yra demono gija.public void setDaemon(bulio b):pažymi giją kaip demoną arba vartotojo giją.viešas negaliojantis pertraukimas ():nutraukia siūlą.viešoji loginė vertė yra Interrupted():patikrina, ar sriegis buvo nutrauktas.vieša statinė loginė vertė nutraukta ():patikrina, ar dabartinė gija buvo nutraukta.

Paleidžiama sąsaja:

Vykdomąją sąsają turėtų įgyvendinti bet kuri klasė, kurios egzempliorius turi vykdyti gijos. Vykdomoje sąsajoje yra tik vienas metodas, pavadintas run ().

skirtumas tarp ledo ir sniego
    viešas galiojantis bėgimas ():naudojamas gijos veiksmui atlikti.

Pradedant giją:

The start() metodas iš Thread klasė naudojama naujai sukurtai gijai pradėti. Jis atlieka šias užduotis:

  • Prasideda nauja gija (su nauja skambučių krūva).
  • Gija pereina iš naujos būsenos į būseną Vykdoma.
  • Kai gijai bus suteikta galimybė paleisti, bus paleistas tikslinis vykdymo () metodas.

1) Java gijos pavyzdys išplečiant gijų klasę

Failo pavadinimas: 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(); } } 

Išvestis:

 thread is running... 

2) „Java Thread“ pavyzdys, įdiegiant Runnable sąsają

Failo pavadinimas: 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(); } } 

Išvestis:

int parseint
 thread is running... 

Jei nepratęsiate gijos klasės, jūsų klasės objektas nebus traktuojamas kaip gijos objektas. Taigi jūs turite aiškiai sukurti Thread klasės objektą. Perduodame jūsų klasės objektą, kuris įgyvendina Runnable, kad galėtų vykdyti jūsų klasės run() metodą.

3) gijų klasės naudojimas: gijos (eilutės pavadinimas)

Galime tiesiogiai naudoti Thread klasę, kad sukurtume naujas gijas, naudodami aukščiau nurodytus konstruktorius.

Failo pavadinimas: 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); } } 

Išvestis:

 My first thread 

4) Naudojant gijų klasę: gija (paleidžiama r, eilutės pavadinimas)

Stebėkite šią programą.

Failo pavadinimas: 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); } } 

Išvestis:

tik slapyvardis
 My new thread Now the thread is running ...