ProcessThread Klasa

Definicja

Reprezentuje wątek procesu systemu operacyjnego.

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
Dziedziczenie
Dziedziczenie
ProcessThread

Uwagi

Służy ProcessThread do uzyskiwania informacji o wątku, który jest obecnie uruchomiony w systemie. Dzięki temu można na przykład monitorować charakterystykę wydajności wątku.

Ważne

Ten typ implementuje IDisposable interfejs. Po zakończeniu korzystania z typu należy usunąć go bezpośrednio lub pośrednio. Aby bezpośrednio usunąć typ, wywołaj jego Dispose metodę try/catch w bloku. Aby usunąć go pośrednio, należy użyć konstrukcji językowej, takiej jak using (w języku C#) lub Using (w Visual Basic). Aby uzyskać więcej informacji, zobacz sekcję "Using an Object that Implements IDisposable" (Używanie obiektu implementujące interfejs IDisposable) w temacie interfejsu IDisposable .

Wątek jest ścieżką wykonywania za pośrednictwem programu. Jest to najmniejsza jednostka wykonywania, którą harmonogramy Win32. Składa się ze stosu, stanu rejestrów procesora CPU i wpisu na liście wykonywania harmonogramu systemu.

Proces składa się z co najmniej jednego wątku oraz kodu, danych i innych zasobów programu w pamięci. Typowe zasoby programu to otwarte pliki, semafory i dynamicznie przydzielana pamięć. Każdy zasób procesu jest współużytkowany przez wszystkie wątki tego procesu.

Program jest wykonywany, gdy harmonogram systemu daje kontrolę wykonywania jednemu z wątków programu. Harmonogram określa, które wątki powinny być uruchamiane i kiedy. Wątek o niższym priorytcie może być zmuszony do oczekiwania, podczas gdy wątki o wyższym priorytcie wykonują swoje zadania. Na komputerach wieloprocesorowych harmonogram może przenosić poszczególne wątki do różnych procesorów, w ten sposób równoważąc obciążenie procesora CPU.

Każdy proces rozpoczyna się od jednego wątku, który jest znany jako wątek podstawowy. Każdy wątek może tworzyć dodatkowe wątki. Wszystkie wątki w procesie współdzielą przestrzeń adresową tego procesu.

Wątek podstawowy nie musi znajdować się w pierwszym indeksie w kolekcji.

Uwaga

Począwszy od .NET Framework w wersji 2.0, możliwość odwoływanie się do danych licznika wydajności na innych komputerach została wyeliminowana dla wielu .NET Framework metod i właściwości. Ta zmiana została wprowadzonych w celu zwiększenia wydajności i umożliwienia użytkownikom niebędącym administratorami używania ProcessThread klasy . W związku z tym niektóre aplikacje, które nie pobierały wyjątków we wcześniejszych wersjach .NET Framework, mogą teraz uzyskać wartość NotSupportedException. Metody i właściwości, których dotyczy problem, są zbyt liczne, aby wyświetlić listę w tym miejscu, ale informacje o wyjątku zostały dodane do tematów dotyczących elementów członkowskich, których dotyczy problem.

Wątki procesu są wykonywane indywidualnie i nie są ze sobą świadome, chyba że są widoczne dla siebie nawzajem. Wątki, które współdzielą wspólne zasoby, muszą jednak koordynować swoją pracę przy użyciu semaforów lub innej metody komunikacji międzyprocesowej.

Aby uzyskać kolekcję wszystkich ProcessThread obiektów skojarzonych z bieżącym procesem, pobierz Threads właściwość Process wystąpienia.

Właściwości

BasePriority

Pobiera podstawowy priorytet wątku.

CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.

(Odziedziczone po Component)
Container

Pobiera element IContainer zawierający element Component.

(Odziedziczone po Component)
CurrentPriority

Pobiera bieżący priorytet wątku.

DesignMode

Pobiera wartość wskazującą, czy Component element jest obecnie w trybie projektowania.

(Odziedziczone po Component)
Events

Pobiera listę programów obsługi zdarzeń dołączonych do tego Componentelementu .

(Odziedziczone po Component)
Id

Pobiera unikatowy identyfikator wątku.

IdealProcessor

Ustawia preferowany procesor dla tego wątku do uruchomienia.

PriorityBoostEnabled

Pobiera lub ustawia wartość wskazującą, czy system operacyjny powinien tymczasowo zwiększyć priorytet skojarzonego wątku za każdym razem, gdy główne okno procesu wątku odbiera fokus.

PriorityLevel

Pobiera lub ustawia poziom priorytetu wątku.

PrivilegedProcessorTime

Pobiera ilość czasu, przez jaki wątek spędził uruchomiony kod wewnątrz rdzenia systemu operacyjnego.

ProcessorAffinity

Ustawia procesory, na których można uruchomić skojarzony wątek.

Site

Pobiera lub ustawia ISite element .Component

(Odziedziczone po Component)
StartAddress

Pobiera adres pamięci funkcji, którą system operacyjny o nazwie uruchomił ten wątek.

StartTime

Pobiera czas uruchomienia wątku przez system operacyjny.

ThreadState

Pobiera bieżący stan tego wątku.

TotalProcessorTime

Pobiera łączną ilość czasu spędzonego przez ten wątek przy użyciu procesora.

UserProcessorTime

Pobiera ilość czasu, przez jaki skojarzony wątek spędził uruchomiony kod wewnątrz aplikacji.

WaitReason

Pobiera przyczynę oczekiwania wątku.

Metody

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszelkie zasoby używane przez element Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element Component i opcjonalnie zwalnia zasoby zarządzane.

(Odziedziczone po Component)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Nieaktualne.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetService(Type)

Zwraca obiekt reprezentujący usługę dostarczaną przez Component obiekt lub przez obiekt Container.

(Odziedziczone po Component)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
InitializeLifetimeService()
Nieaktualne.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
ResetIdealProcessor()

Resetuje idealny procesor dla tego wątku, aby wskazać, że nie ma jednego idealnego procesora. Innymi słowy, tak aby każdy procesor był idealny.

ToString()

Zwraca wartość String zawierającą nazwę Componentobiektu , jeśli istnieje. Ta metoda nie powinna być zastępowana.

(Odziedziczone po Component)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Zdarzenia

Disposed

Występuje, gdy składnik jest usuwany przez wywołanie Dispose() metody .

(Odziedziczone po Component)

Dotyczy

Zobacz też