జావా ప్రోగ్రామింగ్ భాష మద్దతు ఇస్తుంది . ఇది మల్టీ టాస్కింగ్ కోసం ఒకేసారి నడుస్తున్న బహుళ థ్రెడ్లను కలిగి ఉంటుంది. కానీ కొన్ని సందర్భాల్లో లేదా కొన్ని లోపాల కారణంగా, థ్రెడ్లు ఎప్పటికీ వేచి ఉన్న స్థితిలో కనిపిస్తాయి. ఈ వ్యాసంలో, మేము ప్రతిష్ఠంభన పరిస్థితిని అర్థం చేసుకుంటాము మరియు దానిని నివారించడానికి వివిధ మార్గాలు. ఈ బ్లాగులో చర్చించిన విషయాలు క్రిందివి:
జావాలో డెడ్లాక్ అంటే ఏమిటి?
జావాలో డెడ్లాక్ అనేది రెండు లేదా అంతకంటే ఎక్కువ థ్రెడ్లు ఎప్పటికీ నిరోధించబడే పరిస్థితి, ఒకదానికొకటి వేచి ఉన్నాయి.
బహుళ థ్రెడ్లకు ఒకే తాళాలు అవసరం అయితే వాటిని వేర్వేరు ఆర్డర్లలో పొందినప్పుడు ఇది సాధారణంగా జరుగుతుంది. సమకాలీకరించబడిన కీవర్డ్ కారణంగా జావాలో ప్రతిష్ఠంభన పరిస్థితి ఉంది.
ఇది పేర్కొన్న వాటితో అనుబంధించబడిన లాక్ లేదా మానిటర్ కోసం వేచి ఉన్నప్పుడు ఎగ్జిక్యూటింగ్ థ్రెడ్ను నిరోధించడానికి కారణమవుతుంది వస్తువు .
డెడ్లాక్ ఉదాహరణ
పబ్లిక్ క్లాస్ ఉదాహరణ {పబ్లిక్ స్టాటిక్ వాయిడ్ మెయిన్ (స్ట్రింగ్ [] అర్గ్స్) {ఫైనల్ స్ట్రింగ్ r1 = 'ఎడురేకా' ఫైనల్ స్ట్రింగ్ r2 = 'జావా' థ్రెడ్ t1 = కొత్త థ్రెడ్ () {పబ్లిక్ శూన్యత రన్ () {సింక్రొనైజ్డ్ (r1) {సిస్టమ్. . } థ్రెడ్ t2 = క్రొత్త థ్రెడ్ () {పబ్లిక్ శూన్యత రన్ () {సమకాలీకరించబడింది (r1) {System.out.println ('థ్రెడ్ 2: లాక్ చేయబడిన r1') ప్రయత్నించండి {Thread.sleep (100)} క్యాచ్ (మినహాయింపు ఇ) {} సమకాలీకరించబడింది (r2) {System.out.println ('థ్రెడ్ 2: లాక్ చేయబడిన r2')}}} 1 t1.start () t2.start ()}}
అవుట్పుట్: థ్రెడ్ 1: లాక్ చేయబడిన r1 థ్రెడ్ 2: లాక్ చేయబడిన r2
జావాలో డెడ్లాక్ను ఎలా నివారించాలి?
ప్రతిష్ఠంభన పరిస్థితిని నివారించడం పూర్తిగా సాధ్యం కానప్పటికీ, వాటిని నివారించడానికి మేము కొన్ని చర్యలు లేదా పాయింటర్లను అనుసరించవచ్చు:
సమూహ తాళాలను నివారించండి - మీరు బహుళ థ్రెడ్లకు తాళాలు ఇవ్వకుండా ఉండాలి, ప్రతిష్ఠంభన స్థితికి ఇది ప్రధాన కారణం. మీరు బహుళ థ్రెడ్లకు తాళాలు ఇచ్చినప్పుడు ఇది సాధారణంగా జరుగుతుంది.
అనవసరమైన తాళాలను నివారించండి - ముఖ్యమైన థ్రెడ్లకు తాళాలు ఇవ్వాలి. ప్రతిష్ఠంభన స్థితికి కారణమయ్యే అనవసరమైన థ్రెడ్లకు తాళాలు ఇవ్వడం.
స్కానర్ క్లాస్ యొక్క పద్ధతులు మిమ్మల్ని అనుమతిస్తాయి
థ్రెడ్ జాయిన్ ఉపయోగించి - ఒక థ్రెడ్ మరొకటి పూర్తయ్యే వరకు వేచి ఉన్నప్పుడు ప్రతిష్ఠంభన జరుగుతుంది. ఈ సందర్భంలో, మేము థ్రెడ్ తీసుకునే గరిష్ట సమయంతో Thread.join ను ఉపయోగించవచ్చు.
ఇది జావాలోని ప్రతిష్ఠంభన గురించి మరియు దానిని ఎలా నివారించాలో నేర్చుకున్న ఈ వ్యాసం చివరకి తీసుకువస్తుంది. ఈ ట్యుటోరియల్లో మీతో పంచుకున్న అన్ని విషయాలతో మీరు స్పష్టంగా ఉన్నారని నేను ఆశిస్తున్నాను.
“డెడ్లాక్ ఇన్ జావా” పై మీరు ఈ కథనాన్ని కనుగొంటే, చూడండి ప్రపంచవ్యాప్తంగా 250,000 కంటే ఎక్కువ సంతృప్తికరమైన అభ్యాసకుల నెట్వర్క్తో విశ్వసనీయ ఆన్లైన్ లెర్నింగ్ సంస్థ.
మీ ప్రయాణంలో అడుగడుగునా మీకు సహాయం చేయడానికి మేము ఇక్కడ ఉన్నాము మరియు జావా డెవలపర్గా ఉండాలనుకునే విద్యార్థులు మరియు నిపుణుల కోసం రూపొందించిన పాఠ్యాంశాలను రూపొందించండి. ఈ కోర్సు మీకు జావా ప్రోగ్రామింగ్లోకి రావడానికి మరియు వివిధ మరియు కోర్ మరియు అడ్వాన్స్డ్ జావా కాన్సెప్ట్లకు శిక్షణ ఇవ్వడానికి రూపొందించబడింది వంటి నిద్రాణస్థితి & .
మీకు ఏవైనా ప్రశ్నలు వస్తే, “డెడ్లాక్ ఇన్ జావా” యొక్క వ్యాఖ్యల విభాగంలో మీ ప్రశ్నలన్నింటినీ అడగడానికి సంకోచించకండి మరియు మా బృందం సమాధానం ఇవ్వడానికి సంతోషిస్తుంది.