[OSy] rozhrani
Martin Decky
decky at d3s.mff.cuni.cz
Mon Oct 25 20:56:25 CEST 2010
Hezky vecer,
> chtel bych se zeptat, jaky ma vyznam, ze thread_create vraci pointer na
> strukturu vlakna a ne primo strukturu
Zkuste si precist zadani pozorne, je tam pomerne dlouha pasaz (Poznamky
k rozhranim), ktera se snazi typovou konvenci vysvetlit.
Ve skutecnosti thread_t typicky vubec nebude struktura, bude to
nejcasteji pointer na strukturu (ale klidne by to mohl byt treba nejaky
ciselny identifikator, cili handle). Funkce thread_create() ve
skutecnosti tedy nevraci pointer, ale naplni obsahem nejakou promennou
typu thread_t.
Cili podle toho, co je ve skutecnosti thread_t, tak prvni argument
funkce thread_create() muze byt pointer na pointer (na strukturu) nebo
pointer na nejaky integer.
> Znamena to, ze je potreba ho alokovat dynamicky
> pomoci malloc?
Ano, nove vlakno bude zrejme potreba naalokovat, at uz to znamena
zavolat malloc() nebo priradit volny handle z nejakeho poolu. Ostatne
taky o tom zadani hovori, nekde kolem radek 66 - 68.
> Potom by spis davalo smysl, kdyby to thread_t byl jenom
> obaleny pointer do nejake pomocne datove struktury, kde by byla vsechna
> vlakna spravovana.
Uplne nerozumim tomu, co myslite pod terminem "pointer _do_ nejake
pomocne datove struktury". Chapal bych, kdybyste napsal "pointer _na_
datovou strukturu". Muzete to prosim nejak podrobneji rozepsat?
M.D.
More information about the NSWI004
mailing list