2009-09-01 7 views

답변

4

스레드의 우선 순위는 프로세스의 우선 순위에 추가되는 델타로 지정됩니다. 프로세스의 우선 순위를 변경하면 해당 프로세스 내의 모든 스레드의 우선 순위가 영향을받습니다. 스레드의 기본 우선 순위는 DEFAULT_PRIO_NP이며 프로세스 우선 순위는 변경되지 않습니다.

이러한 Pthread API는 SCHED_OTHER의 예약 정책 만 지원합니다.

  1. 하면 pthread_setschedparam
  2. pthread_getschedparam는 (SCHED_OTHERonly 지원)
  3. pthread_attr_setschedparam
  4. pthread_attr_getschedparam

이 AS 스레드가 다른 스레드에 대해 유일하지 시스템에 다른 스레드에 대해 스케줄링 자원 경쟁/400 진행중. 스케줄러는 여러 지연 비용 곡선 (우선 순위 범위)을 기반으로하는 지연 비용 스케줄러입니다. Posix 표준과 Single Unix 사양은 이것을 스케쥴링 범위 및 스케쥴링 정책으로 언급하는데,이 구현에서는 SCHED_OTHER의 기본값에서 변경할 수 없습니다.

2

다소 제어 할 수 있습니다. 동일한 우선 순위의 쓰레드의 경우, pthreads 표준은 FIFO (블로킹 또는 종료 될 때까지 쓰레드가 실행 됨), 라운드 로빈 (스레드가 일정 시간 동안 실행 됨) 또는 디폴트 "기타"의 선택을 지정합니다. 표준에서 요구되는 유일한 것은 "기타"이며, 그 행동은 구현에 따라 다르지만 일반적으로 FIFO와 라운드 로빈 (예 : 스레드가 차단 될 때까지 실행되거나 종료되거나 타임 슬라이스가 먼저 사용되는 경우 모두 사용됩니다.)의 조합입니다.