[so] Intrebari Tema 3
Maximilian Machedon
maximilian.machedon at gmail.com
Thu Dec 1 18:13:11 EET 2005
1. Functiile:
int GetEntryQueueCount(Monitor *m);
int GetWaitingQueueCount(Monitor *m);
int GetSignallerQueueCount(Monitor *m);
int GetQueueCount(Monitor *m, int cond);
pot fi apelate de un thread ce nu a intrat in monitor cu Enter()?
2. Libraria trebuie incarcata de cele doua aplicatii dinamic?
(LoadLibrary () / dlopen())
3. Libraria trebuie sa suporte crearea / existenta mai multor monitoare
la un moment dat, sau e suficient unul singur? Daca sunt mai multe, exista
un numar maxim?
PS: am gasit un mail de anul trecut, poate fi interesant ;-)
On Sat, 04 Dec 2004 12:47:47 +0200, Cosmin Arad <so at cursuri.cs.pub.ro>
wrote:
> Quoting Horia Handoreanu <hhoria at gmail.com>:
>
>> Salut,
>>
>> Am observat din enuntul temei 3 ca in momentul planificarii unui nou
>> thread, il putem trezi
>> pe oricare din coada potrivita ("primul gasit, unul arbitrar - depinde
>> de implementarea pe
>> care o alegeti"). In aceste conditii, este neaparat necesar sa existe
>> cozile respective, sau
>> pot sa blochez threadurile in anumite stari, iar unei stari sa-i
>> corespunda asteptarea
>> dintr-o coada?
>>
>> Mie mi s-ar parea corect sa existe cozile si sa fie folosite in mod
>> normal (fifo), dar, avand
>> in vedere precizarile din enunt, nu prea mai vad rostul lor si
>> implementarea fara cozi pare
>> mai simpla.
>
> Nu trebuie sa implementati cozi explicite. Este chiar nerecomandat si
> s-ar putea
> sa se depuncteze acest aspect pentru lipsa de eficienta.
>
> Cosmin
More information about the so
mailing list