Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Implicitno pozivanje ReleaseMutex funkcije

[es] :: C/C++ programiranje :: Implicitno pozivanje ReleaseMutex funkcije

[ Pregleda: 2928 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

PeraPisar

Član broj: 35583
Poruke: 15
212.62.55.*



Profil

icon Implicitno pozivanje ReleaseMutex funkcije03.11.2005. u 13:00 - pre 224 meseci
Interesuje me da li kraj thread worker funkcije podrazumeva oslobadjanje mutexa koji je zauzet na pocetku funkcije? Drugim recima - da li je neophodno zvati ReleaseMutex na kraju worker funkcije za zauzeti mutex? Primetio sam da se sledeca dva primera ponasaju identicno:
Code:

void WorkerFn()
{
    WaitForSingleObject(mutex, INFINITE);
    ...
    // do something
    ...
    ReleaseMutex(mutex);
}

i
Code:

void WorkerFn()
{
    WaitForSingleObject(mutex, INFINITE);
    ...
    // do something
    ...
}


Sve mi ukazuje na to da kraj funkcije implicitno uradi ReleaseMutex. Moze li neko ovo da potvrdi (ili opovrgne i objasni )?
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.dyn.optonline.net.



+6 Profil

icon Re: Implicitno pozivanje ReleaseMutex funkcije04.11.2005. u 12:42 - pre 224 meseci
Opovrgavam.

Ako želiš da se mutex oslobodi automatski (svakako dobra stvar), koristi idiom RAII:

http://www.hackcraft.net/raii/
 
Odgovor na temu

PeraPisar

Član broj: 35583
Poruke: 15
195.252.85.*



Profil

icon Re: Implicitno pozivanje ReleaseMutex funkcije04.11.2005. u 12:51 - pre 224 meseci
OK, sada jos ostaje pitanje zbog cega se dva prethodna snippet-a ponasaju identicno (iako se u drugom nigde explicitno ne poziva Release Mutex). Ceo program je vrlo trivijalan (proucavam mutex-e) i nema nikakvog uticaja na navedenu funkciju: kreiram nekoliko thread-ova i menjam deljeni resurs unutar te funkcije.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Implicitno pozivanje ReleaseMutex funkcije

[ Pregleda: 2928 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.