[so] intrebare quiz fire de executie

Ioana Grigoropol ioana.grigoropol at loopback.ro
Wed Jun 24 22:03:16 EEST 2009



Razvan Deaconescu wrote:
> On Wed, 2009-06-24 at 18:28 +0300, Razvan Deaconescu wrote:
>   
>> On Wed, 2009-06-24 at 18:18 +0300, Octavian Rinciog wrote:
>>     
>>> Intrucat e SIGNAL_AND_CONTINUE coada de signalers ( sau waiters) este vida.
>>>
>>> Daca era SIGNAL_AND_WAIT atunci era si o astfel de coada.
>>>       
>> Andreea are dreptate. Raspunsul este 4 in ambele cazuri:
>>
>> SIGNAL_AND_CONTINUE
>> * 2 cond_queue + entry_queue + waiters_queue
>>
>> SIGNAL_AND_WAIT
>> * 2 cond_queue + entry_queue + signalers queue
>>     
>
> Corectie! Bogdan are dreptate. Coada waiters e folosita tot timpul.
> Politica SIGNAL_AND_WAIT foloseste 5 cozi.
>
> Spre exemplu, daca un thread foloseste broadcast va trezi N thread-uri
> si va intra in signalers_queue, celelalte thread-uri vor intra in
> waiters_queue si doar unul va fi planificat.
>
>   
Cum văd eu lucrurile, având în vedere că nu pot face wait decât pe o 
condiție, coada de waiters a fost numărată în plus pentru primul caz.

Așadar,
SIGNAL_AND_CONTINUE:
- 2 * cond_queue + entry_queue = 3
SIGNAL_AND_WAIT
- 2 * cond_queue + entry_queue + signal_queue = 4

Deci răspunsul era corect în quiz.

Ioana




More information about the so mailing list