프로세스 및 스레드

애플리케이션은 하나 이상의 프로세스로 구성됩니다. 가장 간단한 용어로 프로세스는 실행 중인 프로그램입니다. 프로세스의 컨텍스트에서 하나 이상의 스레드가 실행됩니다. 스레드는 운영 체제에서 프로세서 시간을 할당하는 기본 단위입니다. 스레드는 현재 다른 스레드에서 실행 중인 파트를 포함하여 프로세스 코드의 모든 부분을 실행할 수 있습니다.

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

스레드 풀은 애플리케이션을 대신하여 비동기 콜백을 효율적으로 실행하는 작업자 스레드의 컬렉션입니다. 스레드 풀은 주로 애플리케이션 스레드 수를 줄이고 작업자 스레드 관리를 제공하는 데 사용됩니다.

파이버는 애플리케이션에서 수동으로 예약해야 하는 실행 단위입니다. 파이버는 예약하는 스레드의 컨텍스트에서 실행됩니다.

UMS(사용자 모드 예약)는 애플리케이션이 자체 스레드를 예약하는 데 사용할 수 있는 간단한 메커니즘입니다. UMS 스레드는 단일 스레드의 스레드 컨텍스트를 공유하는 대신 각 UMS 스레드에 자체 스레드 컨텍스트가 있다는 점에서 파이버 와 다릅니다.