[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