스레드의 우선순위 컨트롤

Server/Winodw Network 2015. 10. 12. 21:15

프로세스는 실행의 주체가 아니라 스레드를 담는 그릇에 지나지 않는다.

windows에서는 프로세스 안에서 동작하는 스레드가 우선순위를 갖는다.

 

프로세스의 우선순위

  Priority

 Meaning 

  IDLE_PRIORITY_CLASS

 기준 우선순위 4 

  NORMAL_PRIORITY_CLASS

 기준 우선순위 9 (Default)

  HIGH_PRIORITY_CLASS

 기준 우선순위 13

  REALTIME_PRIORITY_CLASS

 기준 우선순위 14

 

 

스레드의 우선 순위

  Priority

 Meaning 

 THREAD_PRIORITY_LOWEST

 -2 

 THREAD_PRIORITY_BELOW_NORMAL

 -1 

 THREAD_PRIORITY_NORMAL

 0 (Default) 

 THREAD_PRIORITY_ABOVE_NORMAL

 +1 

 THREAD_PRIORITY_HIGHEST

 +2 

 

 

스레드의 우선순위는 프로세스의 기준 우선순위와 스레드의 상대적 우선순위의 조합으로 결정된다.

 

BOOL SetThreadPriority( HANDLE hThread, int nPriority );

 

int GetThreadPriority( HANDLE hThread );

 

첫 번째 인자는 우선순위를 변경할 스레드의 핸들값이다.

두 번째 인자는 위의 표와 같이 상수값을 넣으면 된다.

 

 

'Server > Winodw Network' 카테고리의 다른 글

Signaled vs Non-Signaled  (0) 2015.11.11
Overlapped 모델(1)  (0) 2015.10.25
프로세스, 스레드의 우선순위  (0) 2015.10.08
스레드 생성과 종료  (0) 2015.10.06
프로세스와 스레드  (0) 2015.10.05
admin