Sobes.tech
Junior — Middle

Жиптердин синхрондоштуусунда жөнөкөй жабдуулук менен рекурсивдүү жабдуулук кандай айырмаланат?

sobes.tech AI

AIден жооп

Жалпы блок (mutex) бир тока ресурсты алууга мүмкүндүк берет, жана ошол эле токтогон кайра алууга аракет кылса, ал блоктолот, бул өз ара блокировкага (deadlock) алып келет.

Рекурсивдүү блок (recursive mutex) айырмаланып, ошол эле токтогон кайра бир нече жолу алса болот, блоктолоосуз. Бирок, блокту алганда, ал алынып жаткандай, башка токтор ага кире алышы үчүн, ал бир нече жолу бошотулушу керек.

Мисал:

  • Жалпы блок:

    • A токтогу блокту алат.
    • A токтогу кайра алууга аракет кылат — ал дайыма блоктолот.
  • Рекурсивдүү блок:

    • A токтогу блокту алат.
    • Аны кайра алат — ийгиликтүү.
    • A токтогу блокту эки жолу бошотуп, башка токтор үчүн жеткиликтүү болот.