[OSy] mutexy
David Matousek
david at matousec.com
Wed Oct 31 19:53:14 CET 2007
Zdravim,
Kdyz to vezmes z praktickeho hlediska, tak nemas ani zaruceno,
ze pokud mutex bude odemceny, tak ze jej stihnes zamknout do nejake doby.
Mas tam mnoho faktoru - jako planovaci strategie, granularita, presnost casovacu.
Imho tam pujde jen o to, aby se to chovalo rozumne, tzn. neco jako ze se v prumernym
pripade nebude cekat o moc dele nez je limit nebo nez je nutne.
DM
Vladislav Kozák wrote:
> Dobry vecer,
>
> mam drobne problemy s pochopenim funkcie mutexov (hlavne
> mutex_lock_timeout) tak ako su popisane v zadani.
>
> Povedzme, ze vlakno A zamklo mutex a do fronty cakatelov sa zaradili
> vlakna B,C,D (pricom C bude cakat iba 100ms). Po 50ms vlakno A odomkne
> dany mutex (co podla zadania znamena, ze vlakna B,C,D sa zobudia a zacnu
> bojovat o to, ktore z nich prve zamkne mutex). Nie je mi dost jasne, ako
> dokazeme zistit, ci to dane vlakno stihne este zamknut.
>
> Specialne teda: niekde v kode funkcie mutex_lock_timeout sa vola
> thread_sleep(usec). Za tento prikaz sa dostane vlakno po tom, co vyprsi
> cas, alebo doslo k mutex_unlock. Ak vyprsal cas, je jasne, ze vratime
> ETIMEDOUT. Ak ale este nevyprsal, nedokazeme podla mna rozhodnut v danom
> volani funkcie mutex_lock_timeout, ci to este to vlakno stihne, a teda ani
> rozhodnut aku navratovu hodnotu ma mat funkcia...
>
> ... alebo som to pochopil zle?
>
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
More information about the NSWI004
mailing list