létrehozása patakok
A következő példa bemutatja, hogyan lehet létrehozni egy új téma, amely végrehajtja helyileg meghatározott ThreadFunc funkciót.
DWORDWINAPIThreadFunc (LPVOID lpParam)
wsprintf (szMsg, "paraméter =.", * (DWORD *) lpParam);
MessageBox (NULL, szMsg, "ThreadFunc", MB_OK);
DWORD dwThreadId, dwThrdParam = 1;
NULL, // alapértelmezett biztonsági attribútumok
0, // halom nagysága az alapértelmezett
ThreadFunc. // menet funkció
dwThrdParam, // argumentuma menet funkció
0, // létrehozása zászlók által használt alapértelmezett
dwThreadId); // visszaadja a szál azonosítóját
// Ha sikeres, ellenőrizze a visszatérési érték.
Az egyszerűség kedvéért, ez a példa halad egy mutatót mind az értékét az áramlási paraméter funkciót. Ez lehet egy mutatót tartalmaz, amely adattípus vagy szerkezet, vagy elhagyhatjuk, továbbításával NULL mutató, és az eltávolítását a hivatkozást a paraméter ThreadFunc.
Azokban az eljárásokban, ahol az áramlás okozhat több szálat, hogy végre egy kis kódot, ez kényelmetlen használni globális változókat. Például egy folyamat, amely lehetővé teszi a felhasználó számára, hogy nyissa több fájlt egy időben, létrehozhat egy új szálat minden fájlt annak érdekében, hogy az egyes áramok áramlási végezni néhány funkciót. Generálása áramlási küldheti egyedi információkat (például a fájl neve) szükséges minden egyes esetben az áramlás függvényében paramétert. Nem lehet használni egy globális változó erre a célra, de használható dinamikusan kiosztani egy string tároló.
Létrehoz egy patak használhatja paraméterek CreateThread funkciót. hogy meghatározza a következőket:
- biztonsági leíró attribútumok az új téma. Ezek a biztonsági jellemzők az öröklési zászló, amely meghatározza, hogy a leíró hogy öröklik a gyerek. biztonsági attribútumok is egy biztonsági leíró, amely a rendszer lehet hozzáférni, amely szabályozza az összes későbbi felhasználásra leíró flow kezelés előtt adott neki.
- A kezdeti mérete az új szál köteg. Egy halom áramlási automatikusan hozzárendelt a memória a folyamat; a rendszer növeli a verem szükség, és kibocsátja, amikor az áramlás megáll. További információért lásd. Cikk menet verem mérete.
- Jelölőnégyzetet teremtés. amely lehetővé teszi, hogy hozzon létre egy szál a várakozás állapotban. Amikor szünet volt, a patak nem fut, amíg a funkciót nevezik ResumeThread.