IUMSThreadProxy – struktura
Abstrakce pro vlákno provádění. Pokud chcete, aby byl plánovač udělen podprocesy režimu uživatele (UMS), nastavte hodnotu prvku SchedulerKind
zásad plánovače na UmsThreadDefault
a implementujte IUMSScheduler
rozhraní. Vlákna UMS jsou podporována pouze v 64bitových operačních systémech s verzí Windows 7 a vyšší.
Syntaxe
struct IUMSThreadProxy : public IThreadProxy;
Členové
Veřejné metody
Jméno | popis |
---|---|
IUMSThreadProxy::EnterCriticalRegion | Volá se, aby bylo možné zadat kritickou oblast. V kritické oblasti plánovač nebude sledovat asynchronní blokující operace, ke kterým dochází během této oblasti. To znamená, že plánovač nebude znovu zařazen pro chyby stránky, pozastavení vláken, asynchronní volání procedur jádra (ACS) atd. pro vlákno UMS. |
IUMSThreadProxy::EnterHyperCriticalRegion | Volá se, aby bylo možné zadat oblast s hyperkritikou. Pokud je v hyperkrité oblasti, plánovač nebude sledovat žádné blokující operace, ke kterým dochází během této oblasti. To znamená, že plánovač nebude znovu zařazen pro blokování volání funkcí, pokusy o získání zámku, které blokují, chyby stránky, pozastavení vlákna, asynchronní volání procedur jádra (APCs) a tak dále, pro vlákno UMS. |
IUMSThreadProxy::ExitCriticalRegion | Volá se, aby se ukončila kritická oblast. |
IUMSThreadProxy::ExitHyperCriticalRegion | Volá se, aby se ukončila oblast s hyperkritikou. |
IUMSThreadProxy::GetCriticalRegionType | Vrátí druh kritické oblasti, ve které je proxy vlákna. Vzhledem k tomu, že hyper-kritické oblasti jsou nadmnožinou kritických oblastí, pokud kód zadal kritickou oblast a pak se vrátí hyperkritický region InsideHyperCriticalRegion . |
Hierarchie dědičnosti
IUMSThreadProxy
Požadavky
Hlavička: concrtrm.h
Obor názvů: souběžnost
IUMSThreadProxy::EnterCriticalRegion – metoda
Volá se, aby bylo možné zadat kritickou oblast. V kritické oblasti plánovač nebude sledovat asynchronní blokující operace, ke kterým dochází během této oblasti. To znamená, že plánovač nebude znovu zařazen pro chyby stránky, pozastavení vláken, asynchronní volání procedur jádra (ACS) atd. pro vlákno UMS.
virtual int EnterCriticalRegion() = 0;
Vrácená hodnota
Nová hloubka kritické oblasti. Kritické oblasti jsou znovu prováděné.
IUMSThreadProxy::EnterHyperCriticalRegion – metoda
Volá se, aby bylo možné zadat oblast s hyperkritikou. Pokud je v hyperkrité oblasti, plánovač nebude sledovat žádné blokující operace, ke kterým dochází během této oblasti. To znamená, že plánovač nebude znovu zařazen pro blokování volání funkcí, pokusy o získání zámku, které blokují, chyby stránky, pozastavení vlákna, asynchronní volání procedur jádra (APCs) a tak dále, pro vlákno UMS.
virtual int EnterHyperCriticalRegion() = 0;
Vrácená hodnota
Nová hloubka hyperkritiky. Hyper-kritické oblasti jsou znovu prováděné.
Poznámky
Plánovač musí být mimořádně opatrný ohledně toho, jaké metody volá a jaké zámky v takových oblastech získává. Pokud kód v takové oblasti blokuje zámek, který je uložený něčím, co plánovač zodpovídá za plánování, může dojít k zablokování.
Metoda IUMSThreadProxy::ExitCriticalRegion
Volá se, aby se ukončila kritická oblast.
virtual int ExitCriticalRegion() = 0;
Vrácená hodnota
Nová hloubka kritické oblasti. Kritické oblasti jsou znovu prováděné.
IUMSThreadProxy::ExitHyperCriticalRegion – metoda
Volá se, aby se ukončila oblast s hyperkritikou.
virtual int ExitHyperCriticalRegion() = 0;
Vrácená hodnota
Nová hloubka hyperkritiky. Hyper-kritické oblasti jsou znovu prováděné.
IUMSThreadProxy::GetCriticalRegionType – metoda
Vrátí druh kritické oblasti, ve které je proxy vlákna. Vzhledem k tomu, že hyper-kritické oblasti jsou nadmnožinou kritických oblastí, pokud kód zadal kritickou oblast a pak se vrátí hyperkritický region InsideHyperCriticalRegion
.
virtual CriticalRegionType GetCriticalRegionType() const = 0;
Vrácená hodnota
Typ kritické oblasti, ve které je proxy vláken.
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro