[so] intrebare quiz fire de executie

Ioana Grigoropol ioana.grigoropol at loopback.ro
Wed Jun 24 22:33:42 EEST 2009



Sergiu Iordache wrote:
> Nu, să presupunem următorul scenariu:
> Ai 2 threaduri care așteaptă pe condiția 1 să zicem.
> Al treilea thread intră în monitor și face broadcast. Fiind "signal
> and continue" thread-urile ar trebui să se trezească. Problema e că
> după cum se știe în monitor "nu are loc" decât un singur thread. Adică
> cel care le-a trezit. Și chiar dacă cel care le-a trezit s-ar fi oprit
> și el, tot doar un singur thread avea loc din cele 2. Prin urmare
> restul trebuiau să aștepte undeva să fie trezite. Aici intervine coada
> Waiting.
>   
My bad, gândit așa, ai nevoie de o coadă wait, însă ea poate să 
lipsească, fiind înlocuită de coada Enter.

La [1] se găsește un exemplu de monitor fără coadă wait, aceasta fiind 
prezentată ca o alternativă. La acela m-am gândit când am postat.

Scuze pentru neînțelegerea provocată.

Ioana

[1] 
http://en.wikipedia.org/wiki/Monitor_(synchronization)#Nonblocking_condition_variables


More information about the so mailing list