ProcessThread Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje vlákno procesu operačního systému.
public ref class ProcessThread : System::ComponentModel::Component
public ref class ProcessThread
public class ProcessThread : System.ComponentModel.Component
public class ProcessThread
type ProcessThread = class
inherit Component
type ProcessThread = class
Public Class ProcessThread
Inherits Component
Public Class ProcessThread
- Dědičnost
- Dědičnost
-
ProcessThread
Poznámky
Slouží ProcessThread k získání informací o vlákně, které je aktuálně spuštěno v systému. Díky tomu můžete například monitorovat charakteristiky výkonu vlákna.
Důležité
Tento typ implementuje rozhraní IDisposable. Jakmile skončíte s používáním typu, měli byste ho odstranit buď přímo, nebo nepřímo. Chcete-li typ odstranit přímo, zavolejte jeho Dispose metodu v bloku try/catch. Pokud ho chcete zlikvidovat nepřímo, použijte konstruktor jazyka, jako je using (v jazyce C#) nebo Using (v jazyce Visual Basic). Další informace naleznete v části Použití objektu, který implementuje IDisposable v IDisposable tématu rozhraní.
Vlákno je cesta provádění prostřednictvím programu. Jedná se o nejmenší jednotku provádění, kterou Win32 plánuje. Skládá se ze zásobníku, stavu registrů procesoru a položky v seznamu spouštění plánovače systému.
Proces se skládá z jednoho nebo více vláken a kódu, dat a dalších prostředků programu v paměti. Typické programové prostředky jsou otevřené soubory, semaphores a dynamicky přidělená paměť. Každý prostředek procesu sdílí všechna vlákna tohoto procesu.
Program se spustí, když plánovač systému dává řízení provádění jednomu z vláken programu. Plánovač určuje, která vlákna se mají spouštět a kdy. Vlákno s nižší prioritou může být nuceno počkat, dokud vlákna s vyšší prioritou dokončí své úkoly. Na počítačích s více procesory může plánovač přesouvat jednotlivá vlákna do různých procesorů, čímž vyrovnává zatížení procesoru.
Každý proces začíná jedním vláknem, které se označuje jako primární vlákno. Jakékoli vlákno může vytvořit další vlákna. Všechna vlákna v rámci procesu sdílejí adresní prostor tohoto procesu.
Primární vlákno není nutně umístěné v prvním indexu v kolekci.
Poznámka:
Počínaje rozhraním .NET Framework verze 2.0 byla možnost odkazovat na data čítače výkonu v jiných počítačích pro mnoho metod a vlastností rozhraní .NET Framework. Tato změna byla provedena, aby se zlepšil výkon a umožnili nesprávci používat ProcessThread třídu. V důsledku toho mohou některé aplikace, které v dřívějších verzích rozhraní .NET Framework nezískuly výjimky, nyní získat NotSupportedException. Ovlivněné metody a vlastnosti jsou příliš mnoho na seznam, ale informace o výjimce byly přidány do ovlivněných témat členů.
Vlákna procesu se spouští jednotlivě a navzájem si nejsou vědomi, pokud je navzájem nezviditelníte. Vlákna, která sdílejí společné prostředky, však musí koordinovat svou práci pomocí semaphores nebo jiné metody komunikace mezi procesy.
Chcete-li získat kolekci všech ProcessThread objektů přidružených k aktuálnímu procesu, získejte Threads vlastnost Process instance.
Vlastnosti
| Name | Description |
|---|---|
| BasePriority |
Získá základní prioritu vlákna. |
| CanRaiseEvents |
Získá hodnotu určující, zda komponenta může vyvolat událost. (Zděděno od Component) |
| Container |
Získá ten IContainer , který obsahuje Component. (Zděděno od Component) |
| CurrentPriority |
Získá aktuální prioritu vlákna. |
| DesignMode |
Získá hodnotu, která označuje, zda Component je aktuálně v režimu návrhu. (Zděděno od Component) |
| Events |
Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component. (Zděděno od Component) |
| Id |
Získá jedinečný identifikátor vlákna. |
| IdealProcessor |
Nastaví upřednostňovaný procesor pro toto vlákno tak, aby běžel. |
| PriorityBoostEnabled |
Získá nebo nastaví hodnotu určující, zda operační systém má dočasně zvýšit prioritu přidruženého vlákna pokaždé, když hlavní okno procesu vlákna obdrží fokus. |
| PriorityLevel |
Získá nebo nastaví úroveň priority vlákna. |
| PrivilegedProcessorTime |
Získá množství času, který vlákno strávilo spuštěním kódu uvnitř jádra operačního systému. |
| ProcessorAffinity |
Nastaví procesory, na kterých může přidružené vlákno běžet. |
| Site |
Získá nebo nastaví ISite .Component (Zděděno od Component) |
| StartAddress |
Získá adresu paměti funkce, kterou operační systém volal, který spustil toto vlákno. |
| StartTime |
Získá čas, kdy operační systém spustil vlákno. |
| ThreadState |
Získá aktuální stav tohoto vlákna. |
| TotalProcessorTime |
Získá celkovou dobu, po kterou toto vlákno strávilo pomocí procesoru. |
| UserProcessorTime |
Získá dobu, po kterou přidružené vlákno strávilo spuštěním kódu uvnitř aplikace. |
| WaitReason |
Získá důvod, proč vlákno čeká. |
Metody
| Name | Description |
|---|---|
| CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
| Dispose() |
Uvolní všechny prostředky používané nástrojem Component. (Zděděno od Component) |
| Dispose(Boolean) |
Uvolní nespravované prostředky používané Component a volitelně uvolní spravované prostředky. (Zděděno od Component) |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
| GetService(Type) |
Vrátí objekt, který představuje službu poskytovanou objektem Component nebo jeho Container. (Zděděno od Component) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
| ResetIdealProcessor() |
Obnoví ideální procesor pro toto vlákno, aby značil, že neexistuje žádný ideální procesor. Jinými slovy, aby byl jakýkoli procesor ideální. |
| ToString() |
String Vrátí hodnotu obsahující název Component, pokud existuje. Tato metoda by neměla být přepsána. (Zděděno od Component) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Událost
| Name | Description |
|---|---|
| Disposed |
Nastane, když komponenta je uvolněna voláním Dispose() metody. (Zděděno od Component) |