Всем привет. Пишу вот мультипоточную прогу и столкнулся с небольшой проблемой,
а именно: не получается изменить приоритет потоку.
изменяю приоритет слудующим образом:.......
struct sched_param param;
int policy = SCHED_OTHER;
int rc;
pthread_t thread;
.......
rc = pthread_create(&thread,NULL,thread_func,NULL);
.....
param.sched_priority = -1;
rc = pthread_setschedparam(thread,policy,¶m);
// тут rc == EINVAL, а это значит, что или неверное policy
//или значение priority для этого policy задано неверно
.........
rc = pthread_getschedparam(thread,&policy,¶m);
printf("%d\n", param.sched_priority);
// убеждаюсь, что priority не изменилось
// как было до этого ноль, так и осталось
.........
Прога компилится на системе Suse Linux 10.0, gcc 4.0.2.
Вопрос, возможно ли вообще изменить приоритет потоку? И если да, то как?