免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3680 | 回复: 3
打印 上一主题 下一主题

求教,linux下进程优先级 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-23 09:27 |只看该作者 |倒序浏览
本帖最后由 wy200747055 于 2012-04-24 08:49 编辑

程序如下:
#include<stdio.h>
#include<pthread.h>
#include<sched.h>

void *child_thread(void *arg)
{
int policy;
int max_priority,min_priority;
struct sched_param param;
pthread_attr_t attr;

pthread_attr_init(&attr);
pthread_attr_setinheritsched(&attr,PTHREAD_EXPLICIT_SCHED);
pthread_attr_getinheritsched(&attr,&policy);
if(policy==PTHREAD_EXPLICIT_SCHED)
    printf(“InheritschedTHREAD_EXPLICIT_SCHED\n”);
if(policy==PTHREAD_INHERIT_SCHED)
    printf(“InheritschedTHREAD_INHERIT_SCHED\n”);

pthread_attr_setschedpolicy(&attr,SCHED_RR);
pthread_attr_getschedpolicy(&attr,&policy);
if(policy==SCHED_FIFO)
    printf(“Schedpolicy:SCHED_FIFO\n”);
if(policy==SCHED_RR)
    printf(“Schedpolicy:SCHED_RR\n”);
if(policy==SCHED_OTHER)
    printf(“Schedpolicy:SCHED_OTHER\n”);

sched_get_priority_max(max_priority);
sched_get_priority_min(min_priority);
printf(“Maxpriority:%u\n”,max_priority);
printf(“Minpriority:%u\n”,min_priority);


param.sched_priority=max_priority;
pthread_attr_setschedparam(&attr,&param);
printf(“sched_priority:%u\n”,param.sched_priority);
pthread_attr_destroy(&attr);
}

int main(int argc,char *argv[ ])
{
pthread_t child_thread_id;

pthread_create(&child_thread_id,NULL,child_thread,NULL);
pthread_join(child_thread_id,NULL);
}

运行结果如下:


程序中红色部分为我获取进程最大优先级和最小优先级部分。但是结果中显示的最大优先级比最小优先加的值小,这在linux下是正确的。但是,我查看的资料上说的linux的优先级的值是-20到19之间,为什么我运行的结果中优先级的值都这么大呢,完全不在-20到19之间呢?
求大牛,求指教~

论坛徽章:
0
2 [报告]
发表于 2012-04-23 12:54 |只看该作者
  1. sched_get_priority_max(max_priority);
  2. sched_get_priority_min(min_priority);
复制代码
这两个函数用错了。

论坛徽章:
0
3 [报告]
发表于 2012-04-23 15:06 |只看该作者
怎么用错了,那正确的应该怎么用?

论坛徽章:
0
4 [报告]
发表于 2012-08-17 15:40 |只看该作者
sched_get_priority_max输入参数是调度策略SCHED_OTHER等
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP