Reentrant болон thread safe функцуудын хооронд ямар ялгаа байдаг вэ?
Reentrant болон thread safe функцуудын хооронд ямар ялгаа байдаг вэ?

Видео: Reentrant болон thread safe функцуудын хооронд ямар ялгаа байдаг вэ?

Видео: Reentrant болон thread safe функцуудын хооронд ямар ялгаа байдаг вэ?
Видео: Everything you should know about thread safety in 2 minutes or less 2024, Арваннэгдүгээр
Anonim

Аюулгүй утас код нь олон кодоор гүйцэтгэж болох код юм утаснуудыг аюулгүйгээр , дуудлага нэгэн зэрэг олон удаа болсон ч гэсэн утаснууд . Дахин элсэгч код нь та бүх зүйлийг хийж чадна гэсэн үг юм утас аюулгүй код нь эргэлзэх боловч баталгаа өгөх боломжтой аюулгүй байдал Та адилхан дуудсан ч гэсэн функц ижил хүрээнд утас.

Үүнээс гадна дахин орох функц гэж юу вэ?

А функц байна дахин элсэгч хэрэв түүнийг аль хэдийн гүйцэтгэх явцад дуудаж болно. Энэ нь, а функц байна дахин элсэгч Хэрэв энэ нь гүйцэтгэлийн дундуур тасалдаж (жишээлбэл, дохио эсвэл тасалдлаар) тасалдсан гүйцэтгэл дуусахаас өмнө дахин дуудагдах боломжтой бол.

Дээрхээс гадна QT thread аюулгүй юу? Тэмдэглэл Qt Олон анги Qt ангиуд дахин элсэх боловч тэдгээр нь хийгдээгүй байна утас - аюулгүй , учир нь тэдгээрийг хийх утас - аюулгүй QMutex-ийг дахин дахин түгжих, тайлахад нэмэлт зардал гарах болно. Жишээлбэл, QString нь дахин нэвтэрч байгаа боловч үгүй утас - аюулгүй . Зарим Qt ангиуд болон функцууд байна утас - аюулгүй.

Үүний дагуу thread-ийн аюулгүй функцууд юу вэ?

Википедиагаас: Утасны аюулгүй байдал Энэ нь олон төрлийн контекстэд хэрэглэгдэх компьютерийн програмчлалын ойлголт юм. урсгалтай хөтөлбөрүүд. Ялангуяа энэ нь олон тооны хэрэгцээг хангах ёстой утаснууд ижил хуваалцсан өгөгдөлд хандах, мөн хуваалцсан өгөгдөлд зөвхөн нэг хүн хандах хэрэгцээ утас ямар ч үед.

Рекурсив функц гэж юу вэ?

Програмчлалын хэллэгээр a рекурсив функц шууд болон шууд бусаар өөрийгөө дууддаг хэвшил гэж тодорхойлж болно.

Зөвлөмж болгож буй: