LoveUnix » 编程开发 & Rational » 如何修改线程的优先级?
让LU留住您的每

一天 让LU博客留住您的每一天
2006-7-11 16:22 littlestar
如何修改线程的优先级?

对创建好的线程而言, 如何修改线程的优先级?
pthread_setschedparam 优先级参数怎么使用,谢谢.

2006-7-11 21:00 sinister
struct sched_param sp;
...
....
sp.sched_priority  = x;

pthread_setschedparam( ...,...,&sp ) ;

2006-7-12 08:31 littlestar
这个好像需要super-user权限,普通用户没法使用啊.
对于SCHED_OTHER的policy不起作用.

[[i] 本帖最后由 littlestar 于 2006-7-12 08:53 编辑 [/i]]

2006-7-12 08:58 littlestar
struct sched_param param;
int policy, result;
       
        result = pthread_getschedparam(pthread_self(), &policy, &param);        
        policy = SCHED_OTHER;
        result = pthread_setschedparam(pthread_self(), policy,  &param);
        fprintf(stderr, "%d, %d\n", sched_get_priority_min(SCHED_OTHER), sched_get_priority_max(SCHED_OTHER));
        fprintf(stderr, "%d, %d\n", policy, param.sched_priority);

上面的代码表明SCHED_OTHER参数,普通用户不起作用?

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.