다음을 통해 공유


프로세스 및 스레드 정보

프로세스 프로그램을 실행하는 데 필요한 리소스를 제공합니다. 프로세스에는 가상 주소 공간, 실행 코드, 시스템 개체에 대한 열린 핸들, 보안 컨텍스트, 고유 프로세스 식별자, 환경 변수, 우선 순위 클래스, 최소 및 최대 작업 집합 크기 및 하나 이상의 실행 스레드가 있습니다. 각 프로세스는 주 스레드라고 호출되는 단일 스레드로 시작되지만, 그 중 어떤 스레드에서도 추가 스레드를 만들 수 있습니다.

스레드 실행을 예약할 수 있는 프로세스 내의 엔터티입니다. 프로세스의 모든 스레드는 가상 주소 공간 및 시스템 리소스를 공유합니다. 또한 각 스레드는 예외 처리기, 예약 우선 순위, 스레드 로컬 스토리지, 고유 스레드 식별자 및 시스템이 예약될 때까지 스레드 컨텍스트를 저장하는 데 사용할 구조 집합을 유지 관리합니다. 스레드 컨텍스트 스레드 프로세스의 주소 공간에 스레드의 컴퓨터 레지스터 집합, 커널 스택, 스레드 환경 블록 및 사용자 스택이 포함됩니다. 스레드는 클라이언트를 가장하는 데 사용할 수 있는 자체 보안 컨텍스트를 가질 수도 있습니다.

Microsoft Windows는 선점 멀티태스킹지원하여 여러 프로세스에서 여러 스레드를 동시에 실행하는 효과를 만듭니다. 다중 프로세서 컴퓨터에서 시스템은 컴퓨터에 프로세서가 있는 만큼의 스레드를 동시에 실행할 수 있습니다.

작업 개체 프로세스 그룹을 한 단위로 관리할 수 있습니다. 작업 개체는 연결된 프로세스의 특성을 제어하는 이름 지정 가능하고 보안이 가능한 공유 가능한 개체입니다. 작업 개체에 대해 수행된 작업은 작업 개체와 연결된 모든 프로세스에 영향을 줍니다.

애플리케이션은 스레드 풀 사용하여 애플리케이션 스레드 수를 줄이고 작업자 스레드의 관리를 제공할 수 있습니다. 애플리케이션은 작업 항목을 큐에 대기하고, 대기 가능한 핸들과 작업을 연결하고, 타이머에 따라 자동으로 큐에 대기하고, I/O로 바인딩할 수 있습니다.

UMS(사용자 모드 예약)는 애플리케이션이 자체 스레드를 예약하는 데 사용할 수 있는 간단한 메커니즘입니다. 애플리케이션은 시스템 스케줄러 포함하지 않고 사용자 모드에서 UMS 스레드 간에 전환할 수 있으며, UMS 스레드가 커널에서 차단되는 경우 프로세서를 다시 제어할 수 있습니다. 각 UMS 스레드에는 단일 스레드의 스레드 컨텍스트를 공유하는 대신 자체 스레드 컨텍스트가 있습니다. 사용자 모드에서 스레드 간을 전환하는 기능은 시스템 호출이 거의 필요하지 않은 단기 작업 항목에 대해 스레드 풀보다 UMS를 더 효율적으로 만듭니다.

파이버는 애플리케이션에서 수동으로 예약해야 하는 실행 단위입니다. 파이버는 스레드에 의해 예약된 컨텍스트 내에서 실행됩니다. 각 스레드는 여러 파이버를 예약할 수 있습니다. 일반적으로 섬유는 잘 설계된 다중 스레드 애플리케이션에 비해 이점을 제공하지 않습니다. 그러나 파이버를 사용하면 자체 스레드를 예약하도록 설계된 애플리케이션을 더 쉽게 이식할 수 있습니다.

자세한 내용은 다음 항목을 참조하세요.