Постоје два начина да направите нит:
- Проширујући класу Тхреад
- Имплементацијом Руннабле интерфејса.
класа теме:
Класа Тхреад обезбеђује конструкторе и методе за креирање и извођење операција на нити. Класа Тхреад проширује класу Објецт и имплементира Руннабле интерфејс.
Често коришћени конструктори класе нити:
- нит()
- Нит (име стринга)
- Тхреад (Руннабле р)
- Нит (р може се покренути, име стринга)
Често коришћене методе класе Тхреад:
Интерфејс који се може покренути:
Руннабле интерфејс треба да имплементира било која класа чије инстанце су намењене да се извршавају од стране нити. Интерфејс који се може покренути има само један метод под називом рун().
дужина низа јава
Покретање нити:
Тхе старт() метода класе Тхреад се користи за покретање новокреиране нити. Обавља следеће задатке:
- Почиње нова нит (са новим стеком позива).
- Нит се помера из новог стања у стање за покретање.
- Када нит добије прилику да се изврши, покренуће се њен циљни метод рун().
1) Пример Јава Тхреад проширењем класе Тхреад
Назив документа: Мулти.јава
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) Пример Јава Тхреад имплементацијом Руннабле интерфејса
Назив документа: Мулти3.јава
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...
Ако не проширујете класу Тхреад, ваш објекат класе неће бити третиран као објекат нити. Дакле, морате експлицитно да креирате објекат класе Тхреад. Прослеђујемо објекат ваше класе који имплементира Руннабле тако да може да се изврши метода ваше класе рун().
3) Коришћење класе нити: нит (назив низа)
Можемо директно користити класу Тхреад за стварање нових нити користећи конструкторе дефинисане горе.
Назив документа: МиТхреад1.јава
колекције у Јави
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) Коришћење класе Тхреад: Тхреад (Руннабле р, Стринг наме)
Обратите пажњу на следећи програм.
Назив документа: МиТхреад2.јава
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 ...