Posted By: pivson (Pijte pivo, je zdrave !) on 'CZprogram'
Title: Re: kdyz se mluvi o tech tocich...y
Date: Wed Nov 28 14:03:59 2001
> > ... muze mi nekdo vysvetlit, k cemu mam thread handle a thread id? proc
> > potrebuju dve veci a nestaci jedna? A nerikejte mi, ze je to proto, ze
> > nekzere funkce maji jako parametr jedno a nektere druhe :)
>
> Dle meho nazoru neco jako mezi jmenem souboru a file-descriptorem (resp. v
> opacnem poradi). Otazka je, jestli si puvodni vyznam jeste uvedomujou i v
> mikrosoftu a nepostavili to cele na bok.
Ne, musim se MS trochu zastat. Jedna z mala veci co maj dobry je prave kernel.
Ale jenom ten kernel. O GDI se jeste da diskutovat, ale o zbytku ne... (net
beru jakou soucast kernelu, ktera taky pomerne ujde - nemam na mysli
konkretni protokoly).
ID je proste thread ID stejne jako mas process ID. Jedinecna identifikace v
systemu - prez ni se vyceneme neda nic udelat.
HANDLE - je jako kazdy jiny handle, da se klonovat, ma ruzny PRISTUPOVY prava,
da se s nim delat vsechno mozny.
ID - cislo na urovni kernelovsky tabulky. Prez to 'ID' jsou zpristupneni
nektery fce - jako treba fronta zprav toku - muzes predat low level zpravu
cizimu toku (PostThreadMessage). Nektery fce jsou pristupne pouze prez jeho
ID.
ID je jedinecny v systemu. HANDLE muze bejt proces od procesu jinej, z
ruznyma pravama. To se hodi. A nej jen proces od procesu.
Udelam si handle kde reknu: muze se syncrhonizovat ale nic vic a dam ho 'do
davu'. A mam jistotu, ze prez tohle handle... Nic mne nezrusi, nic mi neda
jinou prioritu, ... Az na roota. A sam si to muzu ridit. Uzivatel X ma pravo
nastavit priority, Y se pouze synchonizovat.
ID se podle handle __neda__ dohledat (neberu ze si clovek diasemluje kernel a
mrkne do struktur - to se da kdyz se zapne debug).
Takze: THREAD ID je IDENTIFIKACE threadu. Pouzivaj to treba hooky, fronty
zprav, etc. Zde nehrajou roli prava
HANDLE je 'zpristupneni funknci k threadu skrz prava'.
Myslim ze rozdil je jasnej, a je dobre ze to MS ma takto. Jsem schopnej si
ridit CO komu poskytnu - bz toho, aniz bych dopisovat dodatecnej kod.
I u threadu to ma dost pouziti, nicmene, je to std soucast kernelu, kam bali
ID (procesu, fajly, etc etc.) - takze na to ma v kernelu cast, ktera tohle
obhospodaruje. Takze ikdyby si primo u threadu nevidel pouziti, vez, ze je to
'dusledek' filozofie kernelu. Podle mne dobre.
Pivson I a posledni, z bozi vule pivar
A co budou delat cesi ???
Deme na pivo !