[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