logo

Pavedienu koncepcija Java

Pirms iepazīstināt ar pavedienu koncepcija , mēs nevarējām paralēli izpildīt vairāk nekā vienu uzdevumu. Tas bija trūkums, un, lai novērstu šo trūkumu, Vītnes koncepcija tika ieviests.

A Pavediens ir ļoti viegls process vai, mēs varam teikt, mazākā procesa daļa, kas ļauj programmai darboties efektīvāk, vienlaikus izpildot vairākus uzdevumus.

mēģināt noķert java

Lai fonā veiktu sarežģītus uzdevumus, mēs izmantojām Pavedienu koncepcija Java . Visi uzdevumi tiek izpildīti, neietekmējot galveno programmu. Programmā vai procesā visiem pavedieniem ir savs atsevišķs izpildes ceļš, tāpēc katrs procesa pavediens ir neatkarīgs.

Pavedienu koncepcija Java

Vēl viens lietošanas ieguvums pavediens ir tāds, ka, ja pavediens saņem izņēmumu vai kļūdu tā izpildes laikā, tas neietekmē pārējo pavedienu izpildi. Visiem pavedieniem ir kopīga atmiņa, un tiem ir savs kaudze, vietējie mainīgie un programmu skaitītājs. Ja vienlaikus tiek izpildīti vairāki pavedieni, šis process ir pazīstams kā Daudzpavedienu veidošana .

Vienkāršā veidā pavediens ir:

  • Funkcija, ar kuras palīdzību mēs varam veikt vairākas darbības viena procesa ietvaros.
  • Viegls process.
  • Izpildīto paziņojumu sērija.
  • Ligzdota metožu izsaukumu secība.

Vītnes modelis

Tāpat kā process, pavediens pastāv vairākos stāvokļos. Šie stāvokļi ir šādi:

Pavedienu koncepcija Java

1) Jauns (gatavs darbam)

Ir iekšā pavediens Jauns kad tas saņem CPU laiku.

2) Skriešana

Ir iekšā pavediens a Skriešana norādiet, kad tas tiek izpildīts.

masīva sagriešana java

3) Apturēts

Pavediens atrodas Apturēts norāda, kad tas ir īslaicīgi neaktīvs vai tiek izpildīts.

4) Bloķēts

Pavediens atrodas Bloķēts norāda, kad tas gaida resursus.

5) Izbeigts

Pavediens nonāk šādā stāvoklī, kad jebkurā brīdī tas nekavējoties aptur tā izpildi.

Pavediena izveide

Pavediens tiek izveidots, “izveidojot vai ieviešot”. Darbināms interfeiss vai pagarinot Vītnes klase . Šie ir vienīgie divi veidi, kā mēs varam izveidot pavedienu.

Iedziļināsimies detaļās par abiem pavediena izveides veidiem:

Pavedienu klase

A Vītnes klase ir vairākas metodes un konstruktori, kas ļauj mums veikt dažādas darbības ar pavedienu. Pavedienu klase paplašina Objekts klasē. The Objekts klase īsteno Palaist saskarne. Vītņu klasei ir šādi konstruktori, kas tiek izmantoti dažādu darbību veikšanai.

    Pavediens() Pavediens (izpildāms, virknes nosaukums) Pavediens (izpildāms mērķis) Pavediens (pavedienu grupa, izpildāms mērķis, virknes nosaukums) Pavediens (pavedienu grupa, izpildāms mērķis) Pavediens (pavedienu grupa, virknes nosaukums) Pavediens (pavedienu grupa, izpildāms mērķis, virknes nosaukums, gara steka izmērs)

Darbināmais interfeiss (palaist() metode)

Runnable interfeiss ir jārealizē tai klasei, kuras gadījumus paredzēts izpildīt ar pavedienu. Darbināmais interfeiss sniedz mums palaist () metode, lai veiktu darbību pavedienam.

start() metode

Šī metode tiek izmantota jaunizveidotā pavediena sākšanai. Tas sāk jaunu pavedienu ar jaunu zvanu steku. Pēc izpildes sākt() metodi, pavediens maina stāvokli no Jauns uz Runnable. Tas izpilda palaist() metodi kad pavediens saņem pareizo laiku tā izpildei.

Ņemsim piemēru, lai saprastu, kā mēs varam izveidot a Java pavediens, paplašinot pavedienu klasi:

ThreadExample1.java

 // Implementing runnable interface by extending Thread class public class ThreadExample1 extends Thread { // run() method to perform action for thread. public void run() { int a= 10; int b=12; int result = a+b; System.out.println('Thread started running..'); System.out.println('Sum of two numbers is: '+ result); } public static void main( String args[] ) { // Creating instance of the class extend Thread class ThreadExample1 t1 = new ThreadExample1(); //calling start method to execute the run() method of the Thread class t1.start(); } } 

Izvade:

Pavedienu koncepcija Java

Pavedienu izveide, ieviešot darbināmu saskarni

Java mēs varam arī izveidot pavedienu, ieviešot izpildāmo saskarni. Palaišanas saskarne nodrošina gan palaišanas () metodi, gan start () metodi.

Ņemsim piemēru, lai saprastu, kā mēs varam izveidot, sākt un palaist pavedienu, izmantojot palaišanas saskarni.

ThreadExample2.java

aizstāt visu java
 class NewThread implements Runnable { String name; Thread thread; NewThread (String name){ this.name = name; thread = new Thread(this, name); System.out.println( 'A New thread: ' + thread+ 'is created
' ); thread.start(); } public void run() { try { for(int j = 5; j > 0; j--) { System.out.println(name + ': ' + j); Thread.sleep(1000); } }catch (InterruptedException e) { System.out.println(name + ' thread Interrupted'); } System.out.println(name + ' thread exiting.'); } } class ThreadExample2 { public static void main(String args[]) { new NewThread('1st'); new NewThread('2nd'); new NewThread('3rd'); try { Thread.sleep(8000); } catch (InterruptedException excetion) { System.out.println('Inturruption occurs in Main Thread'); } System.out.println('We are exiting from Main Thread'); } } 

Izvade:

Pavedienu koncepcija Java

Iepriekš minētajā piemērā mēs veicam Multithreading, ieviešot izpildāmo saskarni. Lai uzzinātu vairāk par multithreading, noklikšķiniet šeit .