Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Egy alkalmazáson belüli végrehajtási szálat jelöl.
Szemantika
class CWinThread : public CCmdTarget
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
CWinThread::CWinThread |
Egy CWinThread objektumot hoz létre. |
Nyilvános módszerek
| Név | Description |
|---|---|
CWinThread::CreateThread |
Elindítja egy CWinThread objektum végrehajtását. |
CWinThread::ExitInstance |
Felülbírálás a szál leállásakor történő törléshez. |
CWinThread::GetMainWnd |
Lekéri a szál főablakára mutató mutatót. |
CWinThread::GetThreadPriority |
Lekéri az aktuális szál prioritását. |
CWinThread::InitInstance |
Felülbírálás a szálpéldány inicializálásához. |
CWinThread::IsIdleMessage |
Speciális üzeneteket keres. |
CWinThread::OnIdle |
Felülbírálás szálspecifikus üresjárati idő feldolgozásához. |
CWinThread::PostThreadMessage |
Üzenet küldése egy másik CWinThread objektumnak. |
CWinThread::PreTranslateMessage |
Szűri az üzeneteket, mielőtt elküldené őket a Windows-függvényekbe TranslateMessage és DispatchMessagea . |
CWinThread::ProcessMessageFilter |
Elfog bizonyos üzeneteket, mielőtt elérnék az alkalmazást. |
CWinThread::ProcessWndProcException |
Elfogja a szál üzenete és a parancskezelők által elvetett nem kezelt kivételeket. |
CWinThread::PumpMessage |
A szál üzenethurkját tartalmazza. |
CWinThread::ResumeThread |
Egy szál felfüggesztési számának csökkenése. |
CWinThread::Run |
Vezérlőfüggvény üzenetszivattyúval rendelkező szálakhoz. Felülbírálás az alapértelmezett üzenethurok testreszabásához. |
CWinThread::SetThreadPriority |
Beállítja az aktuális szál prioritását. |
CWinThread::SuspendThread |
Növeli a szál felfüggesztési számát. |
Nyilvános operátorok
| Név | Description |
|---|---|
CWinThread::operator HANDLE |
Lekéri az objektum fogópontját CWinThread . |
Nyilvános adatok tagjai
| Név | Description |
|---|---|
CWinThread::m_bAutoDelete |
Megadja, hogy a szálvégzítéskor meg kell-e semmisíteni az objektumot. |
CWinThread::m_hThread |
Az aktuális szál kezelése. |
CWinThread::m_nThreadID |
Az aktuális szál azonosítója. |
CWinThread::m_pActiveWnd |
Mutasson a tárolóalkalmazás főablakára, ha egy OLE-kiszolgáló aktív. |
CWinThread::m_pMainWnd |
Az alkalmazás főablakára mutató mutatót tartalmaz. |
Megjegyzések
A végrehajtás fő szálát általában egy ; forrásból CWinAppszármaztatott objektum adja megCWinThread. CWinApp A további CWinThread objektumok több szálat is engedélyeznek egy adott alkalmazáson belül.
A szálaknak CWinThread két általános típusa van: feldolgozószálak és felhasználói felületi szálak. A feldolgozószálak nem rendelkeznek üzenetszivattyúval: például egy olyan szál, amely háttérszámításokat végez egy számolótábla-alkalmazásban. A felhasználói felületi szálak rendelkeznek egy üzenetszivattyúval, és feldolgozzák a rendszertől kapott üzeneteket.
CWinApp és az abból származtatott osztályok a felhasználói felületi szálakra mutatnak példákat. Más felhasználói felületi szálak közvetlenül is származtathatók a rendszerből CWinThread.
Az osztályobjektumok CWinThread általában a szál időtartamára léteznek. Ha módosítani szeretné ezt a viselkedést, állítsa a következőre m_bAutoDeleteFALSE: .
Az CWinThread osztályra azért van szükség, hogy a kód és az MFC teljes mértékben biztonságos legyen. A keretrendszer által a szálspecifikus információk fenntartásához használt szálspecifikus adatokat objektumok kezelik CWinThread . A szál helyi adatainak kezeléséhez való függőség CWinThread miatt az MFC-t használó összes szálat az MFC-nek kell létrehoznia. A futásidejű függvény_beginthread_beginthreadex által létrehozott szál például nem használhat MFC API-kat.
Szál létrehozásához hívja meg a ()AfxBeginThread egérmutatót a CRuntimeClassCWinThreadszármaztatott osztályhoz. Ha feldolgozószálat szeretne létrehozni, adjon át AfxBeginThread egy mutatót a vezérlőfüggvénynek és a paraméternek a vezérlőfüggvénynek. A munkavégző szálakhoz és a felhasználói felületi szálakhoz is megadhat olyan választható paramétereket, amelyek módosítják a prioritást, a veremméretet, a létrehozási jelzőket és a biztonsági attribútumokat.
AfxBeginThread egy mutatót ad vissza az új CWinThread objektumhoz.
Hívás AfxBeginThreadhelyett létrehozhat egy CWinThread-származtatott objektumot, majd meghívhatja CreateThreadőket. Ez a kétfázisú építési módszer akkor hasznos, ha újra szeretné használni az objektumot a CWinThread szálvégrehajtások egymást követő létrehozása és leállítása között.
További információ: CWinThreadTöbbszálasság C++ és MFC használatával, Többszálas: User-Interface szálak létrehozása, Többszálas: Feldolgozószálak létrehozása és Többszálasság: A szinkronizálási osztályok használata.
Öröklési hierarchia
CWinThread
Requirements
Fejléc:afxwin.h
CWinThread::CreateThread
Létrehoz egy szálat, amely a hívási folyamat címterén belül végrehajtható.
BOOL CreateThread(
DWORD dwCreateFlags = 0,
UINT nStackSize = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);
Paraméterek
dwCreateFlags
Egy további jelzőt ad meg, amely szabályozza a szál létrehozását. Ez a jelző két érték egyikét tartalmazhatja:
CREATE_SUSPENDEDIndítsa el a szálat egy felfüggesztési számmal. HasználjaCREATE_SUSPENDED, ha inicializálni szeretné azCWinThreadobjektum bármely tagadatát, példáulm_bAutoDeletea származtatott osztály bármely tagját, mielőtt a szál elindulna. Miután az inicializálás befejeződött, a szál futtatásának elindításához használja aCWinThread::ResumeThreadelemet. A szál csak a meghívás utánCWinThread::ResumeThreadlesz végrehajtva.0 Közvetlenül a létrehozás után indítsa el a szálat.
nStackSize
Az új szál veremének bájtban megadott méretét adja meg. Ha 0, a verem mérete alapértelmezés szerint megegyezik a folyamat elsődleges szálának méretével.
lpSecurityAttrs
Egy struktúrára SECURITY_ATTRIBUTES mutat, amely meghatározza a szál biztonsági attribútumait.
Visszaadott érték
Nonzero, ha a szál sikeresen létrejött; egyéb esetben 0.
Megjegyzések
Egy szálobjektum létrehozásához és egy lépésben történő végrehajtásához használható AfxBeginThread . Akkor használja CreateThread , ha újra szeretné használni a szálobjektumot a szálvégrehajtások egymást követő létrehozása és befejezése között.
CWinThread::CWinThread
Egy CWinThread objektumot hoz létre.
CWinThread();
Megjegyzések
A szál végrehajtásának megkezdéséhez hívja meg a tagfüggvényt CreateThread . Általában a konstruktor és CreateThreada konstruktor meghívásával AfxBeginThreadfog szálakat létrehozni.
CWinThread::ExitInstance
A keretrendszer meghívja egy ritkán felülírt Run tagfüggvényből, hogy kilépjen a szál ezen példányából, vagy ha egy hívás InitInstance meghiúsul.
virtual int ExitInstance();
Visszaadott érték
A szál kilépési kódja; A 0 nem jelez hibát, a 0-nál nagyobb értékek pedig hibát jeleznek. Ez az érték hívással GetExitCodeThreadkérhető le.
Megjegyzések
Ne hívja meg ezt a tagfüggvényt bárhonnan, csak a tagfüggvényen Run belül. Ez a tagfüggvény csak felhasználói felületi szálakban használható.
A függvény alapértelmezett implementációja törli az CWinThread objektumot, ha m_bAutoDelete igen TRUE. Bírálja felül ezt a függvényt, ha további tisztítást szeretne végezni a szál leállásakor. A implementációnak ExitInstance meg kell hívnia az alaposztály verzióját a kód végrehajtása után.
CWinThread::GetMainWnd
Ha az alkalmazás OLE-kiszolgáló, hívja meg ezt a függvényt, hogy az alkalmazás aktív főablakára mutató mutatót kérjen le ahelyett, hogy közvetlenül az m_pMainWnd alkalmazásobjektum tagjára hivatkozna.
virtual CWnd* GetMainWnd();
Visszaadott érték
Ez a függvény a két ablaktípus egyikére mutató mutatót ad vissza. Ha a szál egy OLE-kiszolgáló része, és egy aktív tárolóban aktív, helyben aktív objektummal rendelkezik, ez a függvény az CWinApp::m_pActiveWndCWinThread objektum adattagját adja vissza.
Ha egy tárolón belül nincs helyben aktív objektum, vagy az alkalmazás nem OLE-kiszolgáló, ez a függvény a m_pMainWnd szálobjektum adattagját adja vissza.
Megjegyzések
A felhasználói felületi szálak esetében ez egyenértékű az alkalmazásobjektum tagjára való közvetlen hivatkozással m_pActiveWnd .
Ha az alkalmazás nem OLE-kiszolgáló, akkor a függvény meghívása egyenértékű az alkalmazásobjektum tagjára való közvetlen hivatkozással m_pMainWnd .
A függvény felülbírálása az alapértelmezett viselkedés módosításához.
CWinThread::GetThreadPriority
Lekéri a szál aktuális prioritási szintjét.
int GetThreadPriority();
Visszaadott érték
Az aktuális szál prioritási szintje a prioritási osztályon belül. A visszaadott érték a következők egyike lesz, a legmagasabb prioritástól a legalacsonyabbig:
THREAD_PRIORITY_TIME_CRITICALTHREAD_PRIORITY_HIGHESTTHREAD_PRIORITY_ABOVE_NORMALTHREAD_PRIORITY_NORMALTHREAD_PRIORITY_BELOW_NORMALTHREAD_PRIORITY_LOWESTTHREAD_PRIORITY_IDLE
Ezekről a prioritásokról további információt a Windows SDK-ban talál SetThreadPriority .
CWinThread::InitInstance
InitInstance felül kell bírálni a felhasználói felületi szál minden új példányának inicializálásához.
virtual BOOL InitInstance();
Visszaadott érték
Nonzero, ha az inicializálás sikeres; egyéb esetben 0.
Megjegyzések
Általában felülbírálhatja InitInstance azokat a feladatokat, amelyeket egy szál első létrehozásakor végre kell hajtani.
Ez a tagfüggvény csak felhasználói felületi szálakban használható. A munkaszálak inicializálása a vezérlő függvényben AfxBeginThread.
CWinThread::IsIdleMessage
Felülbírálja ezt a függvényt, hogy ne OnIdle legyen meghívva adott üzenetek létrehozása után.
virtual BOOL IsIdleMessage(MSG* pMsg);
Paraméterek
pMsg
A jelenleg feldolgozott üzenetre mutat.
Visszaadott érték
Nemzero, ha OnIdle az üzenet feldolgozása után kell meghívni, ellenkező esetben 0.
Megjegyzések
Az alapértelmezett implementáció nem hívja meg OnIdle a villogó simogatók által generált redundáns egérüzeneteket és üzeneteket.
Ha egy alkalmazás létrehozott egy rövid időzítőt, OnIdle a rendszer gyakran hívja meg, ami teljesítményproblémát okoz. Egy ilyen alkalmazás teljesítményének javítása érdekében felülbírálhatja IsIdleMessage az alkalmazás CWinAppszármaztatott osztályában az üzeneteket az WM_TIMER alábbiak szerint:
BOOL CMyWinApp::IsIdleMessage(MSG* pMsg)
{
if (!CWinApp::IsIdleMessage(pMsg) || pMsg->message == WM_TIMER)
return FALSE;
else
return TRUE;
}
Az ilyen módon történő kezelés WM_TIMER javítja a rövid időzítőket használó alkalmazások teljesítményét.
CWinThread::m_bAutoDelete
Megadja, hogy az CWinThread objektumot automatikusan törölni kell-e a szálvégzítéskor.
BOOL m_bAutoDelete;
Megjegyzések
Az m_bAutoDelete adattag egy BOOL típusú nyilvános változó.
Az érték m_bAutoDelete nem befolyásolja a mögöttes szálfogópont bezárását, de a leíró bezárásának időzítésére is hatással van. A szálfogópont mindig zárva van, amikor az CWinThread objektum megsemmisül.
CWinThread::m_hThread
Fogópont az ehhez CWinThreadcsatolt szálhoz .
HANDLE m_hThread;
Megjegyzések
Az m_hThread adattag egy nyilvános változótípus HANDLE. Csak akkor érvényes, ha az alapul szolgáló kernelszál-objektum jelenleg létezik, és a leíró még nem lett bezárva.
A CWinThread destruktor be van kapcsolva CloseHandlem_hThread. Ha m_bAutoDelete a TRUE szál leáll, a rendszer megsemmisíti az CWinThread objektumot, amely érvényteleníti az objektumra és annak CWinThread tagváltozóira mutató összes mutatót. Előfordulhat, hogy a m_hThread tagnak ellenőriznie kell a szál kilépési értékét, vagy várnia kell egy jelre. Ha meg szeretné tartani az objektumot és annak tagját m_hThread a CWinThread szál végrehajtása során és a leállása után, állítsa be m_bAutoDeleteFALSE, mielőtt engedélyezi a szálvégrehajtás folytatását. Ellenkező esetben a szál leállhat, megsemmisítheti az CWinThread objektumot, és bezárhatja a fogópontot, mielőtt megpróbálná használni. Ha ezt a technikát használja, ön a felelős az CWinThread objektum törléséért.
CWinThread::m_nThreadID
Az ehhez CWinThreada szálhoz csatolt szál azonosítója.
DWORD m_nThreadID;
Megjegyzések
Az m_nThreadID adattag egy nyilvános változótípus DWORD. Ez csak akkor érvényes, ha az alapul szolgáló kernelszál-objektum jelenleg létezik.
Lásd még az élettartamra vonatkozó m_hThread megjegyzéseket.
Example
Lásd a példát a AfxGetThread.
CWinThread::m_pActiveWnd
Ezzel az adattagkal mutatót tárolhat a szál aktív ablakobjektumára.
CWnd* m_pActiveWnd;
Megjegyzések
A Microsoft Foundation osztálykönyvtára automatikusan leállítja a szálat, amikor a hivatkozott m_pActiveWnd ablak bezárul. Ha ez a szál egy alkalmazás elsődleges szála, az alkalmazás is leáll. Ha ez az adattag, NULLaz alkalmazás objektumának aktív ablaka CWinApp öröklődik.
m_pActiveWnd a nyilvános változó típusa CWnd*.
Ezt a tagváltozót általában a felülbíráláskor InitInstanceállítja be. Egy feldolgozószálban ennek az adattagnak az értéke a szülőszálától öröklődik.
CWinThread::m_pMainWnd
Ezzel az adattagkal mutatót tárolhat a szál fő ablakobjektumára.
CWnd* m_pMainWnd;
Megjegyzések
A Microsoft Foundation osztálykönyvtára automatikusan leállítja a szálat, amikor a hivatkozott m_pMainWnd ablak bezárul. Ha ez a szál egy alkalmazás elsődleges szála, az alkalmazás is leáll. Ha ez az adattag, NULLaz alkalmazás objektumának főablaka CWinApp határozza meg, hogy mikor állítsa le a szálat.
m_pMainWnd a nyilvános változó típusa CWnd*.
Ezt a tagváltozót általában a felülbíráláskor InitInstanceállítja be. Egy feldolgozószálban ennek az adattagnak az értéke a szülőszálától öröklődik.
CWinThread::OnIdle
A tagfüggvény felülbírálása tétlen idejű feldolgozáshoz.
virtual BOOL OnIdle(LONG lCount);
Paraméterek
lCount
A rendszer minden alkalommal OnIdle növekményes számlálót hív meg, amikor a szál üzenetsora üres. Ez a szám minden új üzenet feldolgozásakor 0-ra lesz visszaállítva. A paraméterrel lCount meghatározhatja, hogy a szál mennyi ideig tétlen volt üzenet feldolgozása nélkül.
Visszaadott érték
Nonzero, hogy több tétlen feldolgozási időt kapjon; 0, ha nincs szükség több üresjárati feldolgozási időre.
Megjegyzések
OnIdle akkor hívja meg a rendszer az alapértelmezett üzenethurkban, ha a szál üzenetsora üres. A felülbírálással meghívhatja a saját háttér tétlenség-kezelő feladatait.
OnIdle 0 értéket kell visszaadnia, hogy jelezze, nincs szükség további üresjárati feldolgozási időre. A lCount paraméter minden alkalommal OnIdle megnövekedik, amikor az üzenetsor üres, és minden új üzenet feldolgozásakor 0-ra állítja vissza. Ennek alapján meghívhatja a különböző tétlenségi rutinokat.
A tagfüggvény alapértelmezett implementációja ideiglenes objektumokat és nem használt dinamikus csatolási kódtárakat szabadít fel a memóriából.
Ez a tagfüggvény csak felhasználói felületi szálakban használható.
Mivel az alkalmazás nem tudja feldolgozni az üzeneteket, amíg vissza OnIdle nem tér, ne végezzen hosszú feladatokat ebben a függvényben.
CWinThread::operator HANDLE
Lekéri az objektum fogópontját CWinThread .
operator HANDLE() const;
Visszaadott érték
Ha sikeres, a szálobjektum fogópontja; egyéb esetben. NULL
Megjegyzések
A leíróval közvetlenül hívhatja meg a Windows API-kat.
CWinThread::PostThreadMessage
Felhasználó által definiált üzenet egy másik CWinThread objektumba való közzétételére hívva.
BOOL PostThreadMessage(
UINT message,
WPARAM wParam,
LPARAM lParam);
Paraméterek
message
A felhasználó által megadott üzenet azonosítója.
wParam
Első üzenetparaméter.
lParam
Második üzenetparaméter.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
A közzétett üzenetet az üzenettérkép makrója ON_THREAD_MESSAGEmegfelelteti a megfelelő üzenetkezelőnek.
Megjegyzés:
Híváskor PostThreadMessageaz üzenet a szál üzenetsorába kerül. Mivel azonban az így közzétett üzenetek nincsenek ablakhoz társítva, az MFC nem küldi el őket az üzenetkezelőknek vagy a parancskezelőknek. Az üzenetek kezeléséhez felül kell bírálnia a PreTranslateMessage() származtatott osztály függvényét CWinApp, és manuálisan kell kezelnie az üzeneteket.
CWinThread::PreTranslateMessage
Felülbírálja ezt a függvényt az ablaküzenetek szűréséhez, mielőtt elküldené őket a Windows-függvények TranslateMessage és DispatchMessagea .
virtual BOOL PreTranslateMessage(MSG* pMsg);
Paraméterek
pMsg
A feldolgozandó üzenetet tartalmazó struktúrára mutat.MSG
Visszaadott érték
Nonzero, ha az üzenet teljes mértékben fel lett dolgozva PreTranslateMessage , és nem szabad tovább feldolgozni. Nulla, ha az üzenetet a szokásos módon kell feldolgozni.
Megjegyzések
Ez a tagfüggvény csak felhasználói felületi szálakban használható.
CWinThread::ProcessMessageFilter
A keretrendszer horogfüggvénye meghívja ezt a tagfüggvényt bizonyos Windows-üzenetek szűrésére és megválaszolására.
virtual BOOL ProcessMessageFilter(
int code,
LPMSG lpMsg);
Paraméterek
code
Horogkódot ad meg. Ez a tagfüggvény a kód használatával határozza meg a feldolgozás módját lpMsg.
lpMsg
Egy Windows-struktúraMSG mutatója.
Visszaadott érték
Nonzero, ha az üzenet feldolgozása folyamatban van; egyéb esetben 0.
Megjegyzések
A horogfüggvények feldolgozzák az eseményeket, mielőtt elküldené őket az alkalmazás normál üzenetfeldolgozására.
Ha felülbírálja ezt a speciális funkciót, mindenképpen hívja meg az alaposztályú verziót a keretrendszer horogfeldolgozásának fenntartása érdekében.
CWinThread::ProcessWndProcException
A keretrendszer meghívja ezt a tagfüggvényt, ha a kezelő nem kap kivételt a szál üzenetében vagy parancskezelőiben.
virtual LRESULT ProcessWndProcException(
CException* e,
const MSG* pMsg);
Paraméterek
e
Nem kezelt kivételre mutat.
pMsg
Egy olyan struktúrára mutat,MSG amely információkat tartalmaz a windowsos üzenetről, amely miatt a keretrendszer kivételt okozott.
Visszaadott érték
-1 kivétel létrehozása esetén WM_CREATE ; egyébként 0.
Megjegyzések
Ne hívja meg közvetlenül ezt a tagfüggvényt.
A tagfüggvény alapértelmezett implementációja csak a következő üzenetekből létrehozott kivételeket kezeli:
| Parancs | Tevékenység |
|---|---|
WM_CREATE |
Nem. |
WM_PAINT |
Ellenőrizze az érintett ablakot, így megakadályozva egy másik WM_PAINT üzenet létrejöttét. |
Felülbírálja ezt a tagfüggvényt a kivételek globális kezeléséhez. Csak akkor hívja meg az alapfunkciót, ha meg szeretné jeleníteni az alapértelmezett viselkedést.
Ez a tagfüggvény csak üzenetszivattyúval rendelkező szálakban használható.
CWinThread::PumpMessage
A szál üzenethurkját tartalmazza.
virtual BOOL PumpMessage();
Megjegyzések
PumpMessage tartalmazza a szál üzenethurkját.
PumpMessage meghívja CWinThread a szál üzeneteinek pumpálásához. Közvetlenül felhívhatja PumpMessage az üzenetek feldolgozását, vagy felülbírálhatja PumpMessage az alapértelmezett viselkedését.
A közvetlen hívás PumpMessage és az alapértelmezett viselkedés felülírása csak a haladó felhasználók számára ajánlott.
CWinThread::ResumeThread
A tagfüggvény által felfüggesztett vagy a SuspendThread jelölővel CREATE_SUSPENDED létrehozott szál végrehajtásának folytatására hívható meg.
DWORD ResumeThread();
Visszaadott érték
Sikeres esetben a szál korábbi felfüggesztési száma; 0xFFFFFFFF Egyébként. Ha a visszatérési érték nulla, az aktuális szál nem lett felfüggesztve. Ha a visszatérési érték egy, a szál fel lett függesztve, de most újraindul. Az egynél nagyobb visszatérési érték azt jelenti, hogy a szál fel van függesztve.
Megjegyzések
Az aktuális szál felfüggesztési száma eggyel csökken. Ha a felfüggesztések száma nullára csökken, a szál folytatja a végrehajtást; ellenkező esetben a szál felfüggesztve marad.
CWinThread::Run
Alapértelmezett üzenethurkot biztosít a felhasználói felületi szálakhoz.
virtual int Run();
Visszaadott érték
A int szál által visszaadott érték. Ez az érték hívással GetExitCodeThreadkérhető le.
Megjegyzések
Run windowsos üzeneteket szerez be és küld el, amíg az alkalmazás nem kap üzenetet WM_QUIT . Ha a szál üzenetsora jelenleg nem tartalmaz üzeneteket, Run a hívások OnIdle tétlen idejű feldolgozást hajtanak végre. A bejövő üzenetek a PreTranslateMessage tagfüggvényre kerülnek speciális feldolgozás céljából, majd a Windows függvényre TranslateMessage a normál billentyűzetfordításhoz. Végül meghívja a DispatchMessage Windows függvényt.
Run ritkán van felülbírálva, de felülbírálhatja a speciális viselkedés implementálásához.
Ez a tagfüggvény csak felhasználói felületi szálakban használható.
CWinThread::SetThreadPriority
Ez a függvény az aktuális szál prioritási szintjét állítja be a prioritási osztályán belül.
BOOL SetThreadPriority(int nPriority);
Paraméterek
nPriority
Megadja az új szál prioritási szintjét a prioritási osztályon belül. Ennek a paraméternek a legmagasabb prioritástól a legalacsonyabbig az alábbi értékek egyikének kell lennie:
THREAD_PRIORITY_TIME_CRITICALTHREAD_PRIORITY_HIGHESTTHREAD_PRIORITY_ABOVE_NORMALTHREAD_PRIORITY_NORMALTHREAD_PRIORITY_BELOW_NORMALTHREAD_PRIORITY_LOWESTTHREAD_PRIORITY_IDLE
Ezekről a prioritásokról további információt a Windows SDK-ban talál SetThreadPriority .
Visszaadott érték
Nemzero, ha a függvény sikeres volt; egyéb esetben 0.
Megjegyzések
Csak a sikeres visszatérés után CreateThread hívható meg.
CWinThread::SuspendThread
Növeli az aktuális szál felfüggesztési számát.
DWORD SuspendThread();
Visszaadott érték
Sikeres esetben a szál korábbi felfüggesztési száma; 0xFFFFFFFF Egyébként.
Megjegyzések
Ha bármelyik szál felfüggesztési száma nullánál magasabb, az a szál nem fut. A szál a tagfüggvény meghívásával ResumeThread folytatható.
Lásd még
CCmdTarget osztály
hierarchiadiagram
CWinApp osztály
CCmdTarget osztály