Reentrant жана жип коопсуз функцияларынын ортосунда кандай айырма бар?
Reentrant жана жип коопсуз функцияларынын ортосунда кандай айырма бар?

Video: Reentrant жана жип коопсуз функцияларынын ортосунда кандай айырма бар?

Video: Reentrant жана жип коопсуз функцияларынын ортосунда кандай айырма бар?
Video: Сравнение протоколов TCP и UDP 2024, Ноябрь
Anonim

Жип коопсуз код бир нечеден аткарыла турган код жиптерди коопсуз , чалуулар бир нече жолу болсо да жиптер . Кайра кирүүчү код бардык нерселерди кыла ала турганыңызды билдирет жип коопсуз коду кепилдик бере алат, бирок ошондой эле коопсуздук сен ошол эле чалсаң да функция ошол эле ичинде жип.

Мындан тышкары, кайра кирүүчү функция деген эмне?

А функция болуп саналат кайра кирүүчү эгерде аны ишке ашыруу процессинде чакырса болот. Ал функция болуп саналат кайра кирүүчү эгерде ал аткаруунун ортосунда үзгүлтүккө учураса (мисалы, сигнал же үзгүлтүк менен) жана үзгүлтүккө учураган аткаруу аяктаганга чейин кайра чакырылса.

Жогорудагыдан тышкары, QT жип коопсузбу? Белгилер боюнча Qt Класстар көп Qt класстар кайра кабыл алынат, бирок алар жасалган эмес жип - коопсуз , анткени аларды жасоо жип - коопсуз QMutexти кайра-кайра кулпулоо жана кулпусун ачуу үчүн кошумча чыгымдарды талап кылат. Мисалы, QString кайра кирет, бирок жок жип - коопсуз . Кээ бир Qt класстар жана функциялар болуп саналат жип - коопсуз.

Демек, жип коопсуз функциялары деген эмне?

Википедиядан: Жиптин коопсуздугу көп контекстте колдонулуучу компьютердик программалоо концепциясы жиптүү программалар. Атап айтканда, ал бир нече муктаждыкты канааттандырууга тийиш жиптер бирдей бөлүшүлгөн маалыматтарга жетүү үчүн, жана жалпы маалымат бөлүгүнө бирөө гана кире алат жип каалаган убакта.

Рекурсивдүү функциялар деген эмне?

Программалоо жагынан а рекурсивдүү функция түздөн-түз же кыйыр түрдө өзүн чакырган күнүмдүк катары аныкталышы мүмкүн.

Сунушталууда: