Hur man hanterar dödläge i Java?



Den här artikeln täcker begreppet Deadlock In Java med ett exempel som visar hur trådarna i ett flertrådigt program blockeras.

Java-programmeringsspråk stöder . Det involverar flera trådar som körs samtidigt för multitasking. Men i vissa fall eller på grund av vissa brister befinner trådarna sig i vänteläge för alltid. I den här artikeln kommer vi att förstå dödläget i och olika sätt att undvika det. Följande ämnen diskuteras i den här bloggen:

vad är metoden i javascript

Vad är Deadlock i Java?

Dödläge i Java är ett tillstånd där två eller flera trådar blockeras för alltid och väntar på varandra.





Detta händer vanligtvis när flera trådar behöver samma lås men får dem i olika ordningar. i Java lider av dödläget på grund av det synkroniserade nyckelordet.

Det gör att den exekverande tråden blockeras medan du väntar på låset eller bildskärmen som är associerad med det angivna objekt .



Dödläge i Java - Edureka

Exempel på dödläge

public class Exempel {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') prova {Thread.sleep (100)} catch (exception e) {} synkroniserad (r2) {System.out.println ('Thread 1: Locked r2')}} } Tråd t2 = ny tråd () {public void run () {synkroniserad (r1) {System.out.println ('Tråd 2: Låst r1') försök med {Thread.sleep (100)} fångst (undantag e) {} synkroniserad (r2) {System.out.println ('Tråd 2: Låst r2')}}} t1.start () t2.start ()}}
 Produktion: Tråd 1: Låst r1 Tråd 2: Låst r2

Hur man undviker dödläge i Java?

Även om det inte är helt möjligt att undvika dödläge, kan vi följa vissa åtgärder eller tips för att undvika dem:

  • Undvik kapslade lås - Du måste undvika att låsa till flera trådar, detta är den främsta orsaken till ett dödläge. Det händer normalt när du låser till flera trådar.

  • Undvik onödiga lås - Låsen bör ges till de viktiga trådarna. Ge lås till onödiga trådar som orsakar dödläget.



    summan av siffror i java
  • Använda Thread Join - Ett dödläge händer vanligtvis när en tråd väntar på att den andra ska avslutas. I det här fallet kan vi använda Thread.join med maximal tid som en tråd tar.

Detta tar oss till slutet av den här artikeln där vi har lärt oss om dödläget i Java och hur man kan undvika det. Jag hoppas att du är tydlig med allt som har delats med dig i denna handledning.

Om du tyckte att den här artikeln om ”Dödlås i Java” var relevant, kolla in ett pålitligt online-lärande företag med ett nätverk med mer än 250 000 nöjda elever spridda över hela världen.

Vi är här för att hjälpa dig med varje steg på din resa och komma med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika tycka om Övervintra & .

Om du stöter på några frågor är du välkommen att ställa alla dina frågor i kommentarsektionen i 'Dödlås i Java' och vårt team kommer gärna att svara.

vad är ett nyckelfel