Hogyan kezeljük a holtpontot a Java-ban?



Ez a cikk a Deadlock In Java fogalmát ismerteti egy példával, amely bemutatja, hogyan blokkolódnak a többszálas program szálai.

A Java programozási nyelv támogatja . Több szálat tartalmaz, amelyek egyidejűleg futnak a multitaskinghoz. De bizonyos esetekben vagy bizonyos hiányosságok miatt a szálak örökre várakozási állapotba kerülnek. Ebben a cikkben meg fogjuk érteni a holtpont állapotát és különböző módon kerülhetjük el. A következő témaköröket tárgyaljuk ebben a blogban:

Mi a holtpont a Java-ban?

A holtpont a Java-ban olyan állapot, amikor két vagy több szál örökre blokkolva várja egymást.





rendezés függvény c ++ tömb

Ez általában akkor történik, amikor több szálnak ugyanazokra a zárakra van szüksége, de különböző sorrendben szerzik be őket. Java-ban a szinkronizált kulcsszó miatt szenved a holtpontból.

Ez okozza a végrehajtó szál blokkolását, miközben a megadott zárhoz vagy monitorhoz vár tárgy .



Holtpont Java-ban - Edureka

Holtpont példa

public class Példa {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 ('1. szál: zárolt r1') próbálkozzon a {Thread.sleep (100)} fogással (e kivétel) {} szinkronizálva (r2) {System.out.println ('1. szál: zárt r2')}} } Szál t2 = új szál () {public void run () {szinkronizált (r1) {System.out.println ('2. szál: Zárva r1') próbálkozzon a {Thread.sleep (100)} elkapással (e kivétel) {} szinkronizált (r2) {System.out.println ('2. szál: zárt r2')}}}} t1.start () t2.start ()}}
 Kimenet: 1. szál: zárt r1 2. szál: zárt r2

Hogyan lehet elkerülni a Java holtpontját?

Bár nem lehet teljesen elkerülni a holtpontot, de bizonyos intézkedéseket vagy mutatókat követhetünk ezek elkerülésére:

  • Kerülje a beágyazott zárakat - Kerülnie kell a több szál lezárását, ez a holtpont fő oka. Ez általában akkor történik, ha több szálhoz zárolást ad.

  • Kerülje a felesleges zárakat - A zárakat meg kell adni a fontos szálaknak. A holtpontot okozó felesleges szálak zárolása.



  • Thread Join használata - Holtpont általában akkor történik, amikor az egyik szál a másik befejezésére vár. Ebben az esetben a Thread.join-t használhatjuk egy szál maximális idejével.

Ezzel eljutottunk a cikk végéhez, ahol megismerhettük a Java holtpontját és annak elkerülését. Remélem, tisztában van azzal, amit megosztott veled ebben az oktatóanyagban.

switch eset java példa programokban

Ha relevánsnak találta ezt a cikket a „Deadlock In Java” témában, nézze meg a egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóból álló hálózata van az egész világon.

Azért vagyunk itt, hogy segítsünk az utazás minden lépésében, és kidolgozzunk egy tananyagot, amelyet olyan hallgatók és szakemberek számára tervezünk, akik Java fejlesztők szeretnének lenni. A tanfolyamot úgy tervezték meg, hogy előrelépést nyújtson a Java programozásban, és kiképezze mind az alapvető, mind a fejlett Java koncepciókra a különféle megoldásokkal együtt tetszik Hibernálás & .

Ha bármilyen kérdése merülne fel, nyugodtan tegye fel minden kérdését a “Deadlock In Java” megjegyzés rovatában, és csapatunk örömmel válaszol.