Sdílet prostřednictvím


ProcessThread Třída

Definice

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. To vám například umožní monitorovat charakteristiky výkonu vlákna.

Důležité

Tento typ implementuje IDisposable rozhraní . Až s použitím typu skončíte, měli byste ho odstranit přímo nebo nepřímo. Chcete-li odstranit typ přímo, zavolejte jeho Dispose metodu try/catch v bloku. Pokud ho chcete odstranit nepřímo, použijte konstruktor jazyka, jako using je (v jazyce C#) nebo Using (v jazyce Visual Basic). Další informace najdete 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 provádě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, semafory a dynamicky přidělované paměti. Každý prostředek procesu je sdílen všemi vlákny tohoto procesu.

Program se spustí, když plánovač systému poskytne řízení provádění jednoho z vláken programu. Plánovač určuje, která vlákna by se měla spustit a kdy. Vlákno s nižší prioritou může být nuceno čekat, než vlákna s vyšší prioritou dokončí své úlohy. 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 nemusí být nutně umístěné v prvním indexu v kolekci.

Poznámka

Počínaje rozhraním .NET Framework verze 2.0 byla schopnost odkazovat na data čítačů výkonu v jiných počítačích eliminována pro mnoho metod a vlastností rozhraní .NET Framework. Tato změna byla provedena za účelem zvýšení výkonu a umožnění použití ProcessThread třídy bez oprávnění správce. V důsledku toho mohou některé aplikace, které neobdržely výjimky v dřívějších verzích rozhraní .NET Framework, nyní získat NotSupportedException. Ovlivněných metod a vlastností je příliš mnoho na to, aby bylo možné zde uvést seznam, ale informace o výjimce byly přidány do témat ovlivněných členů.

Vlákna procesu se spouští jednotlivě a navzájem si je neuvědomují, pokud je navzájem nezviditelníte. Vlákna, která sdílejí společné prostředky, však musí koordinovat svou práci pomocí semaforů nebo jiné metody meziprocesové komunikace.

Pokud chcete získat kolekci ProcessThread všech objektů přidružených k aktuálnímu procesu, získejte Threads vlastnost Process instance.

Vlastnosti

BasePriority

Získá základní prioritu vlákna.

CanRaiseEvents

Získá hodnotu označující, zda komponenta může vyvolat událost.

(Zděděno od Component)
Container

Získá objekt 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 je aktuálně v režimu návrhu Component .

(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 spuštění tohoto vlákna.

PriorityBoostEnabled

Získá nebo nastaví hodnotu označující, zda operační systém má dočasně zvýšit prioritu přidruženého vlákna vždy hlavní okno procesu vlákna obdrží fokus.

PriorityLevel

Získá nebo nastaví úroveň priority vlákna.

PrivilegedProcessorTime

Získá dobu, kterou 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 běžet přidružené vlákno.

Site

Získá nebo nastaví ISite z Component.

(Zděděno od Component)
StartAddress

Získá adresu paměti funkce, kterou operační systém volal, která spustila 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, kterou toto vlákno strávilo pomocí procesoru.

UserProcessorTime

Získá dobu, 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

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící 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é nástrojem Component a volitelně uvolní spravované prostředky.

(Zděděno od Component)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte aktuální životnost objektu služby, 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 .Container

(Zděděno od Component)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(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 bylo patrné, ž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 , Componentpokud 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

Disposed

Vyvolá se, když je komponenta uvolněna voláním Dispose() metody .

(Zděděno od Component)

Platí pro

Viz také