Jaký je rozdíl mezi funkcemi reentrant a thread safe?
Jaký je rozdíl mezi funkcemi reentrant a thread safe?

Video: Jaký je rozdíl mezi funkcemi reentrant a thread safe?

Video: Jaký je rozdíl mezi funkcemi reentrant a thread safe?
Video: Group by and Summarise functions in R programming - use the tidyverse package to wrangle your data 2024, Smět
Anonim

Závit bezpečný kód je takový, který lze provést z více závity bezpečně , i když hovory probíhají současně na více vlákna . Reentrant kód znamená, že můžete dělat všechny věci závit bezpečný kód může dobut také zaručit bezpečnost i když voláte stejně funkce v rámci téhož vlákno.

Kromě toho, co je reentrantní funkce?

A funkce je reentrant pokud jej lze vyvolat, když je již v procesu provádění. To znamená, a funkce je reentrant pokud jej lze přerušit uprostřed provádění (například signálem nebo přerušením) a znovu vyvolat před dokončením přerušeného provádění.

Kromě výše uvedeného, je vlákno QT bezpečné? Poznámky na Qt Mnoho tříd Qt třídy jsou reentrantní, ale nejsou vytvořeny vlákno - bezpečný , protože je vyrábí vlákno - bezpečný znamenalo by to dodatečné náklady na opakované zamykání a odemykání QMutexu. Například QString je reentrantní, ale ne vlákno - bezpečný . Nějaký Qt třídy a funkce jsou vlákno - bezpečný.

Co jsou tedy funkce bezpečné pro vlákna?

z wikipedie: Bezpečnost závitu je koncept počítačového programování použitelný v kontextu multi- závitové programy. Zejména musí uspokojit potřebu vícenásobnosti vlákna přístup ke stejným sdíleným datům a potřeba, aby ke sdíleným datům měl přístup pouze jeden vlákno kdykoliv.

Co jsou rekurzivní funkce?

Z hlediska programování a rekurzivní funkce lze definovat jako rutinu, která se přímo nebo nepřímo volá.

Doporučuje: