Sobes.tech
Junior — Middle

Կարող եք տալ մի օրինակ իրավիճակի մասին, երբ համակարգում տեղի է ունենում ռեսուրսների փոխադարձ փակման?

sobes.tech AI

Պատասխան AI-ից

Միմյանց խոչընդոտ (deadlock) տեղի է ունենում, երբ երկու կամ ավելի գործընթացներ (կամ թելեր) սպասում են միմյանց, պահելով ռեսուրսներ, որոնք մյուսները պետք է շարունակելու համար:

Օրինակ իրավիճակ:

  • Թել A-ն ձեռք է բերում ռեսուրս 1-ը և փորձում է ստանալ ռեսուրս 2-ը:
  • Թել B-ն ձեռք է բերում ռեսուրս 2-ը և փորձում է ստանալ ռեսուրս 1-ը:

Երկուսն էլ սպասում են, որ մյուսը ազատի ռեսուրսները, և ոչ մեկը չի կարող շարունակել:

iOS-ում դա կարող է տեղի ունենալ, օրինակ, մի քանի լոկների կամ հերթերի օգտագործման ժամանակ, երբ ռեսուրսների ձեռքբերման կարգը վերահսկված չէ։ Դուғալականությունը կանխելու համար կարևոր է պահպանել ռեսուրսների ձեռքբերման կարգը կամ օգտագործել ժամանակային սահմանափակումներ և այլ սինխրոնիզացիայի մեխանիզմներ։