logo

Јава Тхреадс | Како направити нит у Јави

Постоје два начина да направите нит:

  1. Проширујући класу Тхреад
  2. Имплементацијом Руннабле интерфејса.

класа теме:

Класа Тхреад обезбеђује конструкторе и методе за креирање и извођење операција на нити. Класа Тхреад проширује класу Објецт и имплементира Руннабле интерфејс.

Често коришћени конструктори класе нити:

  • нит()
  • Нит (име стринга)
  • Тхреад (Руннабле р)
  • Нит (р може се покренути, име стринга)

Често коришћене методе класе Тхреад:

    публиц воид рун():се користи за обављање радње за нит.јавни воид старт():почиње извршавање нити.ЈВМ позива метод рун() на нити.јавни празни сан (дуге милисекунде):Доводи нит која се тренутно извршава у стање мировања (привремено престаје са извршавањем) током наведеног броја милисекунди.публиц воид јоин():чека да нит умре.јавно неважеће придруживање (дуге милисекунде):чека да нит умре за наведене милисекунде.публиц инт гетПриорити():враћа приоритет нити.публиц инт сетПриорити(инт приорити):мења приоритет нити.јавни стринг гетНаме():враћа име нити.публиц воид сетНаме (име стринга):мења назив нити.јавна тема цуррентТхреад():враћа референцу тренутно извршне нити.публиц инт гетИд():враћа ид нити.публиц Тхреад.Стате гетСтате():враћа стање нити.јавни логички исАливе():тестира да ли је нит жива.публиц воид ииелд():узрокује да се тренутно извршавајући објекат нити привремено паузира и дозволи другим нитима да се изврше.публиц воид суспенд():се користи за суспендовање нити (деприцатед).јавни неважећи животопис():се користи за наставак суспендоване нити (одузете).јавна воид стоп():се користи за заустављање нити (деприцатед).јавни логички исДаемон():тестира да ли је нит демон нит.публиц воид сетДаемон(боолеан б):означава нит као демонску или корисничку нит.јавни воид интеррупт():прекида нит.јавни логички исИнтерруптед():тестира да ли је нит прекинута.публиц статиц боолеан интерруптед():тестира да ли је тренутна нит прекинута.

Интерфејс који се може покренути:

Руннабле интерфејс треба да имплементира било која класа чије инстанце су намењене да се извршавају од стране нити. Интерфејс који се може покренути има само један метод под називом рун().

дужина низа јава
    публиц воид рун():се користи за обављање радње за нит.

Покретање нити:

Тхе старт() метода класе Тхреад се користи за покретање новокреиране нити. Обавља следеће задатке:

  • Почиње нова нит (са новим стеком позива).
  • Нит се помера из новог стања у стање за покретање.
  • Када нит добије прилику да се изврши, покренуће се њен циљни метод рун().

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 ...