Kétféleképpen hozhat létre szálat:
- A Thread osztály kiterjesztésével
- A Runnable interfész megvalósításával.
Szál osztály:
A szál osztály konstruktorokat és metódusokat biztosít a szálon végzett műveletek létrehozásához és végrehajtásához. A szál osztály kiterjeszti az objektumosztályt, és futtatható felületet valósít meg.
A Thread osztály leggyakrabban használt konstruktorai:
- Cérna()
- Szál (karakterlánc neve)
- Szál (futtatható r)
- Szál (futtatható r, karakterlánc neve)
A Thread osztály leggyakrabban használt metódusai:
Futtatható felület:
A Runnable interfészt minden olyan osztálynak meg kell valósítania, amelynek példányait egy szál hajtja végre. A futtatható felületnek csak egy run() nevű metódusa van.
jquery ezt a kattintást
Téma indítása:
A start() metódus of Thread osztály egy újonnan létrehozott szál indítására szolgál. A következő feladatokat látja el:
- Új szál indul (új callstack-el).
- A szál Új állapotból Futható állapotba kerül.
- Amikor a szál lehetőséget kap a végrehajtásra, a cél run() metódus futni fog.
1) Java Thread példa a Thread osztály kiterjesztésével
Fájl név: 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(); } }
Kimenet:
thread is running...
2) Java Thread példa futtatható felület megvalósításával
Fájl név: 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(); } }
Kimenet:
thread is running...
Ha nem bővíti ki a Thread osztályt, akkor az osztályobjektum nem lesz szálobjektumként kezelve. Tehát kifejezetten létre kell hoznia a Thread osztály objektumot. Átadjuk az osztályodnak azt az objektumát, amely megvalósítja a Runnable parancsot, hogy az osztályod run() metódusa végre lehessen hajtani.
3) A szálosztály használata: Szál(karakterlánc neve)
A Thread osztályt közvetlenül használhatjuk új szálak létrehozására a fent definiált konstruktorok segítségével.
string a java
Fájl név: 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); } }
Kimenet:
My first thread
4) A szálosztály használata: Szál (futtatható r, karakterlánc neve)
Vegye figyelembe a következő programot.
Fájl név: MyThread2.java
parancs arp-a
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); } }
Kimenet:
My new thread Now the thread is running ...