Yra du būdai sukurti giją:
- Išplėsdami gijų klasę
- Į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:
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
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 ...