当前位置: 技术问答>linux和unix
你是强人吗?进程优先级的!
来源: 互联网 发布时间:2016-12-13
本文导语: 关于进程优先级的设定,我用getpriority()函数设定普通进程的动态优先级,父进程的设定是12,子进程设定是9。按道理,应该子进程先执行啊,(执行的内容是打印“i am child”8个),再执行父进程啊。 可是我的...
关于进程优先级的设定,我用getpriority()函数设定普通进程的动态优先级,父进程的设定是12,子进程设定是9。按道理,应该子进程先执行啊,(执行的内容是打印“i am child”8个),再执行父进程啊。
可是我的运行结果是每次都先执行父进程的(“i am father ”)。下面写的代码,以及运行结果。请牛人看看。
void main()
{
pid_t father,child;
int prio1,prio2,i;
father=getpid();
setpriority(PRIO_PROCESS,0,10);
//nice(12);
printf("the father ID is : %dn",father);
prio1=getpriority(PRIO_PROCESS,father);
printf("the father priority is %dn",prio1);
child=fork();
if(child==0) {
// nice(13);
setpriority(PRIO_PROCESS,0,9);
prio2=getpriority(PRIO_PROCESS,getpid());
printf("the child ID is : %dn",getpid());
printf("the child priority is %dn",prio2);
for(i=0;i
可是我的运行结果是每次都先执行父进程的(“i am father ”)。下面写的代码,以及运行结果。请牛人看看。
void main()
{
pid_t father,child;
int prio1,prio2,i;
father=getpid();
setpriority(PRIO_PROCESS,0,10);
//nice(12);
printf("the father ID is : %dn",father);
prio1=getpriority(PRIO_PROCESS,father);
printf("the father priority is %dn",prio1);
child=fork();
if(child==0) {
// nice(13);
setpriority(PRIO_PROCESS,0,9);
prio2=getpriority(PRIO_PROCESS,getpid());
printf("the child ID is : %dn",getpid());
printf("the child priority is %dn",prio2);
for(i=0;i
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!