当前位置:  技术问答>linux和unix

如何修改主线程的调度策略

    来源: 互联网  发布时间:2016-08-26

    本文导语:  我现在想要将主线程的调度策略从默认的SCHED_OTHER修改为SCHED_RR,根据查阅的资料来看应该是调用pthread_setschedparam这个函数,但是我调用的时候要么没有设置成功,要么就是Invalid argument。我确定我是用root用户编译以...

我现在想要将主线程的调度策略从默认的SCHED_OTHER修改为SCHED_RR,根据查阅的资料来看应该是调用pthread_setschedparam这个函数,但是我调用的时候要么没有设置成功,要么就是Invalid argument。我确定我是用root用户编译以及运行的程序,所以不能够理解,希望能够有人为我解答,谢谢。

代码如下:

#include 
#include 
#include 
main()
{
struct sched_param param;
int policy;

if (pthread_getschedparam(pthread_self(), &policy, ¶m) != 0)
perror("pthread_getschedparam:");

printf("sched_priority:%dn", param.sched_priority);

if (pthread_setschedparam(pthread_self(), SCHED_FIFO, ¶m) != 0)
perror("pthread_setschedparam:");

if (pthread_getschedparam(pthread_self(), &policy, ¶m) != 0)
perror("pthread_getschedparam:");

if (policy == SCHED_RR)
printf("policy is SCHED_RRn");
else if (policy == SCHED_OTHER)
printf("policy is SCHED_OTHERn");
else if (policy == SCHED_FIFO)
printf("policy is SCHED_FIFOn");
else
printf("policy is %dn", policy);

while (1)
{
printf("In while (1)n");
sleep(5);
}

return 0;
}

|
我在pthread.h里面看到这个int pthread_attr_setschedpolicy (pthread_attr_t *, int);
还试过,没百度过,不晓得干什么的

|
改变调度策略应该是要进入内核态吧
看看内核代码

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • IE里的jre是放在哪里?我要修改policy策略文件,但找不到
  • 修改Windows硬盘分区名称
  • unix 下 C++实现 ftp 到另一台主机上 修改文件内容 !能不能直接在主机上修改 还是只能get下来本地修改完后 在put上去
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 高手帮帮忙!!! 在线等!!outlook的附件修改且保存后,再次打开发现是修改之前的原件
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 修改ip地址的话应该修改/ect下哪个文件里的内容?
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 原密码被人恶意修改,如何修改suse系统的超级用户密码(急)
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 有什么命令可以修改整个目录下文件的最后修改时间?
  • 通过docker commit命令保存对docker容器的修改
  • 请教一下,如何修改ubuntu命令,使其可以直接修改kvm虚拟机配置
  • linux/Centos下查看和修改网卡Mac地址(ifconfig命令)
  • shell 程序监控网站网页是否被修改,如果被修改停止服务器的运行?
  • linux/Centos/ubuntu下如何使用umask命令修改新建文件时的默认权限
  • 请教下关于root密码忘记了怎么修改(除了去现场单用户修改)
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • [fedora]下怎么修改MAC地址,并且要重新动的时候还是修改后的值。
  • 哪个DOS命令可以修改指定文件的时间(修改时间)?
  • ◆◆◆◆遇到这样一个问题,请帮忙修改修改.
  • 本来可以修改skb里tcp数据的,突然不能修改了,为什么?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3