标题: [疑问] 如何修改线程的优先级?
littlestar
LU幼天使
Rank: 2



UID 29787
精华 0
积分 99
帖子 177
活跃指数 25
LU金币 2197 个
LU金条 0 个
阅读权限 20
注册 2005-2-26
 
发表于 2006-7-11 16:22  资料  个人空间  主页 短消息  加为好友 
如何修改线程的优先级?

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

顶部
sinister
技术专家
Rank: 14Rank: 14Rank: 14Rank: 14


UID 36664
精华 14
积分 350
帖子 388
活跃指数 313
LU金币 2034 个
LU金条 0 个
阅读权限 200
注册 2005-11-17
 
发表于 2006-7-11 21:00  资料  个人空间  主页 短消息  加为好友  添加 sinister 为MSN好友 通过MSN和 sinister 交谈 QQ
struct sched_param sp;
...
....
sp.sched_priority  = x;

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





没有道德现象,只有现象的道德解释。
顶部
littlestar
LU幼天使
Rank: 2



UID 29787
精华 0
积分 99
帖子 177
活跃指数 25
LU金币 2197 个
LU金条 0 个
阅读权限 20
注册 2005-2-26
 
发表于 2006-7-12 08:31  资料  个人空间  主页 短消息  加为好友 
这个好像需要super-user权限,普通用户没法使用啊.
对于SCHED_OTHER的policy不起作用.

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

顶部
littlestar
LU幼天使
Rank: 2



UID 29787
精华 0
积分 99
帖子 177
活跃指数 25
LU金币 2197 个
LU金条 0 个
阅读权限 20
注册 2005-2-26
 
发表于 2006-7-12 08:58  资料  个人空间  主页 短消息  加为好友 
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参数,普通用户不起作用?

顶部
 



当前时区 GMT+8, 现在时间是 2008-12-2 18:34
乐悠LoveUnix论坛-京ICP备05005823号

Thanks to Discuz!  © 2001-2007    Power by LoveUnix.net
Processed in 0.074467 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 乐悠LoveUnix - Archiver