I denne oppskrivningen skal vi lære de nedenfor-listede aspektene ved deadlocks i Java:
Så la oss starte!
Hva er en dødvakt?
Deadlock beskriver en situasjon der ytterligere to tråder prøver å få tilgang til den samme ressursen samtidig, og som et resultat får ingen ressursen og til slutt blokkeres for alltid.
Når og hvor en dødvakt kan oppstå
I Java kan dødvaktscenariet bare forekomme i det multithreaded miljøet der mer enn en tråd utføres samtidig. Dessuten kan et synkronisert nøkkelord forårsake en dødvakt i Java.
Fra figuren ovenfor kan vi observere at tråd1 venter på at tråd2 skal frigjøre ressursene og omvendt.
Eksempler på deadlock
La oss vurdere det undergitte eksemplet for en dyp forståelse av hvordan en dødvakt oppstår i Java:
offentlig klasse DeadlockeExampleI dette eksemplet har vi to tråder tråd1 og tråd2, begge trådene starter og kaller kjør () -metoden.
Følgende vil være utgangen for ovennevnte utdrag:
Fra ovennevnte utdrag er det tydelig at begge trådene låste hverandre.
Hvordan forhindre en dødvakt i Java
Nedenfor er listen over forebygginger som kan vedtas for å unngå en dødvakt i Java:
Konklusjon
Deadlock beskriver en situasjon der ytterligere to tråder prøver å få tilgang til den samme ressursen samtidig, og som et resultat får ingen ressursen og til slutt blokkeres for alltid. I Java forekommer en dødvakt bare i det flertrådede miljøet der mer enn en tråd utføres samtidig. Dessuten kan et synkronisert nøkkelord forårsake en dødvakt i Java. I Java kan en dødvakt ikke løses fullstendig, men den kan unngås ved å ta i bruk noen nødvendige forholdsregler/regler e.g. Unngå bruk av unødvendige låser, nestede låser osv.
Denne oppskrivningen presenterer en detaljert oversikt over hva som er deadlocks i Java, hvordan deadlocks forekommer, og hvordan du kan unngå deadlocks i Java.