pthread 속성 관련 함수인 setschedpolicy에 대한 질문입니다.
글쓴이: Gwondori / 작성시간: 월, 2013/12/02 - 2:35오후
만일 pthread_t *tid; 를 선언한 뒤 여러 쓰레드를 만들려고 하는데 여기서 thread끼리의 스케쥴링를 적용할려고 하면
pthread_attr_setschedpolicy를 사용하면 된다네요...
그렇다면 만일 thread_attr_setschedpolicy를 사용하여 FIFO를 적용한다하면
(pthread_attr_setschedpolicy(&attr, SCHED_FIFO);)
정말로 FIFO대로 작동하는지요...?
아니면 부가설정도 필요하다면 어떤 부가설정을 하면되고, 또 위와같이 적용한다면 그 한계는 어떤지요..
엄청 궁금합니다.
PS. 실제로 제가 pthread_self()를 통하여 직접 해보긴했으나 이렇게 해서 평가하는게 맞는지 모르겠네요.
일단 결과값은 총 thread 10개를 만든 뒤, pthread_create()를 하여
runnable함수로부터 출력하도록 하니 3 4 5 6 7 8 9 0 1 2 이 순서로 떳습니다.
그리고 gettimeofday()함수는 아직 이용해보지 않았습니다...
(이 글을 쓸때 기억이 나네요... 거참.. ㅎㅎ 하지만 현재 제 컴터가 아니라 확인을 못하겠네요...)
Forums:
...
pthread에서 스케줄링 옵션을 적용하는 건 어디까지나 "성능 향상"을 위해서지 그걸로 쓰레드 간의 작동 순서를 보장할 수 있다는 기대는 절대로 하시면 안됩니다.
(사실 써본 적이 없어서 성능 향상이 실제로 되는지는 잘 모르겠습니다만...)
...
그렇군요... 감사합니다 ^^
댓글 달기