[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