[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