선 밖에 선 자유인

윈도우즈 Process 및 Thread 우선 순위 본문

IT/System & Network

윈도우즈 Process 및 Thread 우선 순위

Hotman 2011. 1. 21. 10:34

** 프로세스의 기준 우선 순위

  Priority    Meaning 
   IDLE_PRIORITY_CLASS   기존 우선 순위 4 
   NORMAL_PRIORITY_CLASS    기존 우선 순위 9(Default) 
   HIGH_PRIORITY_CLASS   기존 우선 순위 13  
   REALTIME_PRIORITY_CLASS   기존 우선 순위 24 
   ABOVE_NORMAL_PRIORITY_CLASS  NORMAL_PRIORITY_CLASS 보다 높고
 HIGH_PRIORITY_CLASS 보다 낮은 순위 
    BELOW_NORMAL_PRIORITY_CLASS  IDLE_PRIORITY_CLASS 보다 높고
 NORMAL_PRIORITY_CLASS 보다 낮은 순위 


 ** 스레드의 상대적 우선 순위

  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


스레드의 우선 순위는 프로세스의 기준 우선순위와 스레드의 상대적 우선 순위의 조합으로 결정된다.
프로세스 내에서 생성되는 모든 스레드의 상대적 우선 순위는 THREAD_PRIORITY_NORMAL 이다. 즉 프로세스의 기준 우선 순위를 그대로 수용하는 것이다. 이를 변경하거나 참조할 때는 다음 두 함수를 이용한다.

  BOOL SetThreadPriority(
      HANDLE hThread,
      int nPriority
  );
  (함수 에러 발생 시 0을 반환)

  int GetThreadPriority(
      HANDLE hThread;
  );
  (함수 에러 발생시 THREAD_PRIORITY_ERROR_RETURN 반환)




 
Comments