ProcessThread 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
운영 체제 프로세스 스레드를 나타냅니다.
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
- 상속
- 상속
-
ProcessThread
설명
시스템에서 현재 실행 중인 스레드에 대한 정보를 가져오는 데 사용합니다 ProcessThread . 이렇게 하면 예를 들어 스레드의 성능 특성을 모니터링할 수 있습니다.
Important
이 형식은 IDisposable 인터페이스를 구현합니다. 형식 사용을 마쳤으면 직접(메서드를 호출 Dispose 하여) 또는 간접적으로(C#과 같은 using 언어 구문을 사용하여) 삭제해야 합니다. 자세한 내용은 IDisposable을 구현하는 개체 사용을 참조하세요.
스레드는 프로그램을 통한 실행 경로입니다. Win32에서 예약하는 가장 작은 실행 단위입니다. 스택, CPU 레지스터의 상태 및 시스템 스케줄러의 실행 목록에 있는 항목으로 구성됩니다.
프로세스는 하나 이상의 스레드와 메모리에 있는 프로그램의 코드, 데이터 및 기타 리소스로 구성됩니다. 일반적인 프로그램 리소스는 열려 있는 파일, 세마포 및 동적으로 할당된 메모리입니다. 프로세스의 각 리소스는 해당 프로세스의 모든 스레드에서 공유됩니다.
시스템 스케줄러가 프로그램의 스레드 중 하나에 실행 제어를 제공하면 프로그램이 실행됩니다. 스케줄러는 실행할 스레드와 시기를 결정합니다. 우선 순위가 높은 스레드가 작업을 완료하는 동안 우선 순위가 낮은 스레드는 강제로 대기해야 할 수 있습니다. 다중 프로세서 컴퓨터에서 스케줄러는 개별 스레드를 다른 프로세서로 이동하여 CPU 부하를 분산할 수 있습니다.
각 프로세스는 기본 스레드라고 하는 단일 스레드로 시작합니다. 모든 스레드는 추가 스레드를 만들 수 있습니다. 프로세스 내의 모든 스레드는 해당 프로세스의 주소 공간을 공유합니다.
기본 스레드가 컬렉션의 첫 번째 인덱스일 필요는 없습니다.
메모
.NET Framework 버전 2.0부터는 많은 .NET Framework 메서드 및 속성에 대해 다른 컴퓨터에서 성능 카운터 데이터를 참조하는 기능이 제거되었습니다. 이 변경 내용은 성능을 향상시키고 관리자가 아닌 사용자가 클래스를 사용할 수 있도록 하기 위해 변경되었습니다 ProcessThread . 따라서 이전 버전의 .NET Framework에서 예외를 얻지 못한 일부 애플리케이션은 이제 .NET Framework를 NotSupportedException가져올 수 있습니다. 영향을 받는 메서드 및 속성이 너무 많아서 여기에 나열할 수 없지만 예외 정보가 영향을 받는 멤버 항목에 추가되었습니다.
프로세스의 스레드는 개별적으로 실행되며 서로 표시되지 않는 한 서로를 인식하지 못합니다. 그러나 공통 리소스를 공유하는 스레드는 세마포 또는 다른 프로세스 간 통신 방법을 사용하여 작업을 조정해야 합니다.
현재 프로세스와 연결된 모든 ProcessThread 개체의 컬렉션을 얻으려면 인스턴스의 ThreadsProcess 속성을 가져옵니다.
속성
| Name | Description |
|---|---|
| BasePriority |
스레드의 기본 우선 순위를 가져옵니다. |
| CanRaiseEvents |
구성 요소가 이벤트를 발생시키는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
| Container |
를 IContainer 포함하는 값을 가져옵니다 Component. (다음에서 상속됨 Component) |
| CurrentPriority |
스레드의 현재 우선 순위를 가져옵니다. |
| DesignMode |
현재 디자인 모드인지 여부를 Component 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
| Events |
이 Component에 연결된 이벤트 처리기 목록을 가져옵니다. (다음에서 상속됨 Component) |
| Id |
스레드의 고유 식별자를 가져옵니다. |
| IdealProcessor |
이 스레드가 실행되도록 기본 설정 프로세서를 설정합니다. |
| PriorityBoostEnabled |
스레드 프로세스의 주 창이 포커스를 받을 때마다 운영 체제가 연결된 스레드의 우선 순위를 일시적으로 높일지 여부를 나타내는 값을 가져오거나 설정합니다. |
| PriorityLevel |
스레드의 우선 순위 수준을 가져오거나 설정합니다. |
| PrivilegedProcessorTime |
스레드가 운영 체제 코어 내에서 코드를 실행하는 데 소요된 시간을 가져옵니다. |
| ProcessorAffinity |
연결된 스레드를 실행할 수 있는 프로세서를 설정합니다. |
| Site |
ISite를 가져오거나 Component의 값을 설정합니다. (다음에서 상속됨 Component) |
| StartAddress |
운영 체제에서 이 스레드를 시작한 함수의 메모리 주소를 가져옵니다. |
| StartTime |
운영 체제가 스레드를 시작한 시간을 가져옵니다. |
| ThreadState |
이 스레드의 현재 상태를 가져옵니다. |
| TotalProcessorTime |
이 스레드가 프로세서를 사용하는 데 소요된 총 시간을 가져옵니다. |
| UserProcessorTime |
연결된 스레드가 애플리케이션 내에서 코드를 실행하는 데 소요된 시간을 가져옵니다. |
| WaitReason |
스레드가 대기 중인 이유를 가져옵니다. |
메서드
| Name | Description |
|---|---|
| CreateObjRef(Type) |
원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
| Dispose() |
에서 사용하는 모든 리소스를 Component해제합니다. (다음에서 상속됨 Component) |
| Dispose(Boolean) |
관리되지 않는 리소스를 Component 해제하고 관리되는 리소스를 선택적으로 해제합니다. (다음에서 상속됨 Component) |
| Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| GetHashCode() |
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
| GetLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 현재 수명 서비스 개체를 검색합니다. (다음에서 상속됨 MarshalByRefObject) |
| GetService(Type) |
또는 해당 서비스에서 제공하는 서비스를 나타내는 개체를 Component 반환합니다 Container. (다음에서 상속됨 Component) |
| GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| InitializeLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다. (다음에서 상속됨 MarshalByRefObject) |
| MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| MemberwiseClone(Boolean) |
현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
| ResetIdealProcessor() |
이 스레드에 대한 이상적인 프로세서를 다시 설정하여 이상적인 프로세서가 하나도 없음을 나타냅니다. 즉, 프로세서가 이상적입니다. |
| ToString() |
String(있는 경우)의 Component이름을 포함하는 값을 반환합니다. 이 메서드는 재정의해서는 안 됩니다. (다음에서 상속됨 Component) |
| ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
이벤트
| Name | Description |
|---|---|
| Disposed |
구성 요소가 메서드 호출에 Dispose() 의해 삭제될 때 발생합니다. (다음에서 상속됨 Component) |