Kako odpraviti zastoj v Javi?



Ta članek pokriva koncept mrtve točke v Javi s primerom, ki prikazuje, kako se niti v večnitnem programu blokirajo.

Podpira programski jezik Java . Vključuje več niti, ki se hkrati izvajajo za večopravilnost. Toda v določenih primerih ali zaradi določenih pomanjkljivosti se niti za vedno znajdejo v čakalnem stanju. V tem članku bomo razumeli stanje mrtve točke v in različne načine, kako se temu izogniti. V tem blogu so obravnavane teme:

Kaj je mrtva točka v Javi?

Zastoj v Javi je pogoj, ko sta dve ali več niti za vedno blokirani in čakata drug na drugega.





To se običajno zgodi, ko več niti potrebujejo enake ključavnice, vendar jih pridobijo v različnih vrstnih razredih. v Javi trpi zaradi mrtve točke zaradi sinhronizirane ključne besede.

Zaradi tega se izvršilna nit blokira, medtem ko čaka na zaklepanje ali monitor, povezan z navedenim predmet .



Zastoj v Javi - Edureka

Primer mrtve točke

javni razred Primer {public static void main (String [] args) {final String r1 = 'edureka' final String r2 = 'java' Thread t1 = new Thread () {public void run () {synchronized (r1) {System. out.println ('Thread 1: Locked r1') poskusite {Thread.sleep (100)} catch (izjema e) {} sinhronizirano (r2) {System.out.println ('Thread 1: Locked r2')}}} } Nit t2 = nova nit () {javni void run () {sinhronizirano (r1) {System.out.println ('Thread 2: Locked r1') poskusite {Thread.sleep (100)} catch (izjema e) {} sinhronizirano (r2) {System.out.println ('Nit 2: Zaklenjen r2')}}}} t1.start () t2.start ()}}
 Izhod: Nit 1: Zaklenjen r1 Nit 2: Zaklenjen r2

Kako se izogniti mrtvi točki v Javi?

Čeprav se stanju mrtve točke ni mogoče popolnoma izogniti, lahko pa se izognemo nekaterim ukrepom ali kazalcem:

  • Izogibajte se ugnezdenim ključavnicam - Izogibati se morate zaklepanju več niti, to je glavni razlog za blokado. Običajno se to zgodi, ko zaklenete več niti.

  • Izogibajte se nepotrebnim ključavnicam - Ključavnice je treba dati pomembnim niti. Dajanje ključavnic nepotrebnim niti, ki povzročajo stanje mrtve točke.



  • Uporaba Thread Join - Zastoj se običajno zgodi, ko ena nit čaka, da se druga konča. V tem primeru lahko uporabimo Thread.join z največ časa, ki ga bo nit potrebovala.

To nas pripelje do konca tega članka, kjer smo se naučili o mrtvi točki v Javi in ​​kako se ji izogniti. Upam, da ste seznanjeni z vsem, kar je bilo z vami razdeljeno v tej vadnici.

Če se vam zdi članek o »Zamrznitvi v Javi« ustrezen, si oglejte zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu.

typecast dvojno na int java

Tu smo, da vam pomagamo pri vsakem koraku na poti in pripravimo učni načrt, ki je zasnovan za študente in strokovnjake, ki želijo biti razvijalec Java. Tečaj je zasnovan tako, da vam nudi uvod v programiranje Java in vas usposobi za osnovne in napredne koncepte Java, skupaj z različnimi všeč Hibernate & .

Če naletite na kakršna koli vprašanja, vas prosimo, da vsa vprašanja postavite v oddelku za komentarje v »Zamrkanju v Javi« in naša ekipa vam bo z veseljem odgovorila.