[ doomed @ 18.01.2002. 13:23 ] @
Elem opis zadatka: Imamo u memoriji 5 buffer-a ( recimo 5x char buff[80]). Pravimo multithreading aplikaciju sa 8 niti gde svaka nit treba da zauzme jedan buffer upise neki sadrzaj i to se ispise na ekran. Onda se nit uspava neko vreme i vrati buffer.Ako nit ne uspe da dobije buffer onda ispise prazan red na ekranu. Sve u svemu neka vrsta memory menager-a. Problem je u tome sto funkcije za zauzimanje/vracanje buffer-a treba da imaju oblik: char* GetBuff( void ) void RetBuff( char* ) E sada GetBuff mozda i nije problem. Napravim strukturu sa dva polja : sam buffer( ili njegova adresa ) i jedno statusno polje ( buffer je zauzet/slobodan ). Ali kako sa RetBuff? Posto f-ja prima samo jedan argument - da li je resenje da poredim adrese zeljenog buffer-a i svih u strukturi pa koja se poklapa taj treba vratiti tj. tu treba promeniti statusno polje? Ima li neko drugu ideju? |