Има два начина за създаване на нишка:
- Чрез разширяване на клас Thread
- Чрез прилагане на Runnable интерфейс.
Клас на нишка:
Класът Thread предоставя конструктори и методи за създаване и извършване на операции върху нишка. Класът Thread разширява класа Object и внедрява Runnable интерфейс.
Често използвани конструктори на клас Thread:
- нишка()
- Нишка (име на низ)
- Нишка (Runnable r)
- Нишка (Runnable r, име на низ)
Често използвани методи на клас Thread:
Изпълняем интерфейс:
Интерфейсът Runnable трябва да бъде имплементиран от всеки клас, чиито екземпляри са предназначени да бъдат изпълнени от нишка. Изпълняемият интерфейс има само един метод, наречен run().
вмъкнете воден знак в word
Стартиране на нишка:
The метод start(). клас Thread се използва за стартиране на новосъздадена нишка. Той изпълнява следните задачи:
- Започва нова нишка (с нов стек за извиквания).
- Нишката се премества от ново състояние в състояние Runnable.
- Когато нишката получи шанс да се изпълни, нейният целеви метод run() ще се изпълни.
1) Пример за Java Thread чрез разширяване на клас Thread
Име на файл: 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(); } }
Изход:
thread is running...
2) Пример за Java Thread чрез внедряване на Runnable интерфейс
Име на файл: Multi3.java
форматиране на 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(); } }
Изход:
thread is running...
Ако не разширявате класа Thread, вашият клас обект няма да се третира като обект на нишка. Така че трябва изрично да създадете обекта на клас Thread. Предаваме обекта на вашия клас, който имплементира Runnable, така че методът run() на вашия клас да може да се изпълни.
3) Използване на класа Thread: Thread(Име на низ)
Можем директно да използваме класа Thread, за да създадем нови нишки, използвайки дефинираните по-горе конструктори.
Име на файл: 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); } }
Изход:
My first thread
4) Използване на класа Thread: Thread(Runnable r, String name)
Спазвайте следната програма.
обект на java
Име на файл: 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); } }
Изход:
My new thread Now the thread is running ...