ProcessThread ProcessThread ProcessThread ProcessThread Class

정의

운영 체제 프로세스 스레드를 나타냅니다.Represents an operating system process thread.

public ref class ProcessThread : System::ComponentModel::Component
public class ProcessThread : System.ComponentModel.Component
type ProcessThread = class
    inherit Component
Public Class ProcessThread
Inherits Component
상속

설명

사용 하 여 ProcessThread 시스템에서 현재 실행 중인 스레드에 대 한 정보를 얻을 수 있습니다.Use ProcessThread to obtain information about a thread that is currently running on the system. 이렇게 하면 예를 들어, 스레드의 성능을 모니터링할 수 있습니다.Doing so allows you, for example, to monitor the thread's performance characteristics.

중요

이 형식이 구현 하는 IDisposable 인터페이스입니다.This type implements the IDisposable interface. 형식을 사용 하 여 마쳤으면 직접 또는 간접적으로의 삭제 해야 있습니다.When you have finished using the type, you should dispose of it either directly or indirectly. 직접 형식의 dispose 호출 해당 Dispose 의 메서드를 try / catch 블록입니다.To dispose of the type directly, call its Dispose method in a try/catch block. 삭제 하지 직접, 언어 구문 같은 사용 using (C#에서) 또는 Using (Visual Basic에서는).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). 자세한 내용은 "를 사용 하는 개체는 구현 IDisposable" 섹션을 참조 하세요.를 IDisposable 인터페이스 항목입니다.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

스레드는 프로그램을 통해 실행 경로입니다.A thread is a path of execution through a program. Win32 예약 된 실행의 최소 단위 이며It is the smallest unit of execution that Win32 schedules. CPU 레지스터 및 시스템 스케줄러가 실행 목록에서 항목의 상태는 스택의 구성 됩니다.It consists of a stack, the state of the CPU registers, and an entry in the execution list of the system scheduler.

하나 이상의 스레드가 코드, 데이터 및 메모리에 있는 프로그램의 다른 리소스의 프로세스 구성 됩니다.A process consists of one or more threads and the code, data, and other resources of a program in memory. 일반적인 프로그램 리소스는 열려 있는 파일, 세마포 및 동적으로 할당 된 메모리입니다.Typical program resources are open files, semaphores, and dynamically allocated memory. 프로세스의 각 리소스는 모든 프로세스의 스레드에 의해 공유 됩니다.Each resource of a process is shared by all that process's threads.

시스템 스케줄러가 프로그램의 스레드 중 하나에 실행 제어를 제공 하면 프로그램이 실행 됩니다.A program executes when the system scheduler gives execution control to one of the program's threads. 스케줄러 스레드를 실행할지 결정 한 경우.The scheduler determines which threads should run and when. 우선 순위가 낮은 스레드 우선 순위가 높은 스레드는 태스크를 완료 하는 동안 잠시 기다려 해야 할 수 있습니다.A lower-priority thread might be forced to wait while higher-priority threads complete their tasks. 다중 프로세서 컴퓨터에서는 스케줄러 이동할 수 개별 스레드가 서로 다른 프로세서를 따라서 CPU 부하를 분산 합니다.On multiprocessor computers, the scheduler can move individual threads to different processors, thus balancing the CPU load.

기본 스레드에서 이라고 하는 단일 스레드를 사용 하 여 각 프로세스가 시작 됩니다.Each process starts with a single thread, which is known as the primary thread. 모든 스레드는 추가 스레드를 만들 수 있습니다.Any thread can create additional threads. 프로세스 내에서 모든 스레드는 해당 프로세스의 주소 공간을 공유합니다.All the threads within a process share the address space of that process.

기본 스레드에서 컬렉션의 첫 번째 인덱스에 반드시 있는 아닙니다.The primary thread is not necessarily located at the first index in the collection.

참고

.NET Framework 버전 2.0부터 다른 컴퓨터에서 성능 카운터 데이터를 참조 하는 기능 대부분의.NET Framework 메서드 및 속성에 대 한 제거 되었습니다.Starting with the .NET Framework version 2.0, the ability to reference performance counter data on other computers has been eliminated for many of the .NET Framework methods and properties. 이 변경 된 성능 향상을 위해 관리자가 아닌 데를 사용 하도록 설정 하는 ProcessThread 클래스입니다.This change was made to improve performance and to enable non-administrators to use the ProcessThread class. 결과적으로, 이전 버전의.NET Framework에서 예외를 발생 하지 않는 일부 응용 프로그램 이제 발생할 수는 NotSupportedException합니다.As a result, some applications that did not get exceptions in earlier versions of the .NET Framework may now get a NotSupportedException. 메서드 및 영향을 받는 속성이 너무 많아서를 나열할 수 있지만 영향을 받는 멤버 항목으로 예외 정보가 추가 되었습니다.The methods and properties affected are too numerous to list here, but the exception information has been added to the affected member topics.

프로세스의 스레드가 개별적으로 실행 하 고 수 있도록 서로 게 표시 하지 않는 한 서로 인식 되지 않습니다.The threads of a process execute individually and are unaware of each other unless you make them visible to each other. 그러나 공용 리소스를 공유 하는 스레드가 세마포 또는 프로세스 간 통신의 다른 메서드를 사용 하 여 작업을 조정 해야 합니다.Threads that share common resources, however, must coordinate their work by using semaphores or another method of interprocess communication.

모든 컬렉션을 가져오려면를 ProcessThread 현재 프로세스와 연결 된 개체를 가져옵니다는 Threads 의 속성을 Process 인스턴스.To get a collection of all the ProcessThread objects associated with the current process, get the Threads property of the Process instance.

속성

BasePriority BasePriority BasePriority BasePriority

스레드의 기본 우선 순위를 가져옵니다.Gets the base priority of the thread.

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

구성 요소가 이벤트를 발생시킬 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
Container Container Container Container

IContainer가 포함된 Component를 가져옵니다.Gets the IContainer that contains the Component.

(Inherited from Component)
CurrentPriority CurrentPriority CurrentPriority CurrentPriority

스레드의 현재 우선 순위를 가져옵니다.Gets the current priority of the thread.

DesignMode DesignMode DesignMode DesignMode

Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Component에 연결된 이벤트 처리기의 목록을 가져옵니다.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
Id Id Id Id

스레드의 고유 식별자를 가져옵니다.Gets the unique identifier of the thread.

IdealProcessor IdealProcessor IdealProcessor IdealProcessor

이 스레드가 실행될 기본 설정 프로세서를 설정합니다.Sets the preferred processor for this thread to run on.

PriorityBoostEnabled PriorityBoostEnabled PriorityBoostEnabled PriorityBoostEnabled

스레드 프로세스의 주 창이 포커스를 받을 때마다 운영 체제에서 관련 스레드의 우선 순위를 일시적으로 높여야 하는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether the operating system should temporarily boost the priority of the associated thread whenever the main window of the thread's process receives the focus.

PriorityLevel PriorityLevel PriorityLevel PriorityLevel

스레드의 우선 순위 수준을 가져오거나 설정합니다.Gets or sets the priority level of the thread.

PrivilegedProcessorTime PrivilegedProcessorTime PrivilegedProcessorTime PrivilegedProcessorTime

스레드가 운영 체제 코어 내부에서 코드를 실행하는데 사용한 시간을 가져옵니다.Gets the amount of time that the thread has spent running code inside the operating system core.

ProcessorAffinity ProcessorAffinity ProcessorAffinity ProcessorAffinity

관련 스레드가 실행될 수 있는 프로세서를 설정합니다.Sets the processors on which the associated thread can run.

Site Site Site Site

ComponentISite를 가져오거나 설정합니다.Gets or sets the ISite of the Component.

(Inherited from Component)
StartAddress StartAddress StartAddress StartAddress

이 스레드를 시작한 운영 체제가 호출한 함수의 메모리 주소를 가져옵니다.Gets the memory address of the function that the operating system called that started this thread.

StartTime StartTime StartTime StartTime

운영 체제가 스레드를 시작한 시간을 가져옵니다.Gets the time that the operating system started the thread.

ThreadState ThreadState ThreadState ThreadState

이 스레드의 현재 상태를 가져옵니다.Gets the current state of this thread.

TotalProcessorTime TotalProcessorTime TotalProcessorTime TotalProcessorTime

이 스레드가 프로세서를 사용하는데 소비한 총 시간을 가져옵니다.Gets the total amount of time that this thread has spent using the processor.

UserProcessorTime UserProcessorTime UserProcessorTime UserProcessorTime

관련 스레드가 응용 프로그램 내부에서 코드를 실행하는데 사용한 시간을 가져옵니다.Gets the amount of time that the associated thread has spent running code inside the application.

WaitReason WaitReason WaitReason WaitReason

스레드가 대기 상태에 있는 이유를 가져옵니다.Gets the reason that the thread is waiting.

메서드

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Component에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Component에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ResetIdealProcessor() ResetIdealProcessor() ResetIdealProcessor() ResetIdealProcessor()

이 스레드의 최적 프로세서를 다시 설정하여 단일 최적 프로세서가 없음을 나타냅니다.Resets the ideal processor for this thread to indicate that there is no single ideal processor. 다시 말해서 모든 프로세서가 최적 프로세서가 되도록 다시 설정합니다.In other words, so that any processor is ideal.

ToString() ToString() ToString() ToString()

Component의 이름이 포함된 String을 반환합니다(있는 경우).Returns a String containing the name of the Component, if any. 이 메서드는 재정의할 수 없습니다.This method should not be overridden.

(Inherited from Component)

이벤트

Disposed Disposed Disposed Disposed

Dispose() 메서드를 호출하여 구성 요소가 삭제되는 경우 발생합니다.Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

적용 대상

추가 정보