当前位置: 首页 > wzjs >正文

科技网站导航哪里有免费的seo视频

科技网站导航,哪里有免费的seo视频,推广普通话海报,成都网站建设前十目录 阻塞等待(Blocking Wait) 非阻塞等待(Non-blocking Wait) 非阻塞轮询 总结 进程等待所使用 waitpid 函数,有一个 options 参数,waitpid 函数的第三个参数用于指定父进程的等待方式: 0…

目录

阻塞等待(Blocking Wait)

非阻塞等待(Non-blocking Wait)

非阻塞轮询

总结


进程等待所使用 waitpid 函数,有一个 options 参数,waitpid 函数的第三个参数用于指定父进程的等待方式

  • 0:默认等待,阻塞直到一个子进程结束。
  • WNOHANG非阻塞等待,如果没有任何子进程结束,则立即返回 0,不阻塞当前进程.若正常结束,则返回该子进程的 ID。
  • WUNTRACED:报告被跟踪的子进程(即使它们尚未停止)。
  • WCONTINUED:报告被继续执行的子进程(即被 SIGCONT 信号继续执行)
阻塞等待(Blocking Wait)

 阻塞等待意味着父进程会一直等待,直到子进程结束或出现错误为止。
通常使用 wait() 或带有默认选项的 waitpid() 函数实现(即 参数 options = 0):waitpid(pid, &status, 0);

非阻塞等待(Non-blocking Wait)

非阻塞等待允许父进程在没有子进程结束的情况下继续执行其他任务。如果子进程未退出,父进程会直接读取子进程的状态并返回,然后接着执行后面的语句,不会等待子进程退出
通常使用带有 WNOHANG 选项的 waitpid() 函数实现(即 参数 options = WNOHANGwaitpid(pid, &status, WNOHANG);

非阻塞轮询

轮询是指父进程在非阻塞式状态的前提下,以循环方式不断的对子进程进行进程等待,直到子进程退出。

例如,父进程可以隔一段时间调用一次waitpid函数,若是等待的子进程尚未退出,则父进程可以先去做一些其他事,过一段时间再调用waitpid函数读取子进程的退出信息:

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>void task1() {printf("task1 is running...\n");
}void task2() {printf("task2 is runnning...\n");
}int main() {int id = fork();if(id == -1) {printf("fork error\n");exit(-1);} else if(id == 0) {  //子进程int cnt = 5;while(cnt--) {printf("子进程, pid:%d, ppid:%d, cnt:%d\n", getpid(), getppid(), cnt);sleep(1);}exit(1);} else {  //父进程int status = 0;while(1) {  //轮询pid_t ret = waitpid(id, &status, WNOHANG);  //非阻塞式等待if(ret == -1) {printf("wait fail\n");  //调用失败exit(1);} else if(ret == 0){  //调用成功,但子进程未退出printf("wait success, but child process not exit\n");task1();  //执行其他命令task2();} else {  //调用成功,子进程退出printf("wait success, and child exited\n");break;}sleep(1);}if(WIFEXITED(status)) {  //正常退出printf("exit code:%d\n", WEXITSTATUS(status));} else {  //异常终止printf("exit signal:%d\n",(status & 0x7f));}}return 0;
}

 运行结果就是,父进程每隔一段时间就去查看子进程是否退出,若未退出,则父进程先去忙自己的事情,过一段时间再来查看,直到子进程退出后读取子进程的退出信息。

总结

阻塞等待:先等你,我再继续

非阻塞等待:不等你,我继续做自己的事

非阻塞轮询:不等你,我继续做自己的事,期间不断看看你行没行


文章转载自:

http://NgoL4qth.krkwp.cn
http://MVIPD58X.krkwp.cn
http://Mxdn24GX.krkwp.cn
http://FWn9srgS.krkwp.cn
http://QVUIKDBR.krkwp.cn
http://2bHNQW4f.krkwp.cn
http://L82Bay7C.krkwp.cn
http://Q9OpYty3.krkwp.cn
http://dGs277wE.krkwp.cn
http://vWVrwlZc.krkwp.cn
http://ugfp4huT.krkwp.cn
http://FLNlE3c1.krkwp.cn
http://B8KEaDvN.krkwp.cn
http://pEgwvc01.krkwp.cn
http://DsR2sNFC.krkwp.cn
http://obUToUsj.krkwp.cn
http://Gbirxtib.krkwp.cn
http://LX9XamXt.krkwp.cn
http://lH57Svx4.krkwp.cn
http://1xmsHAbe.krkwp.cn
http://hDJV1f5Z.krkwp.cn
http://mYiaqOLl.krkwp.cn
http://nnn4wtdV.krkwp.cn
http://CocllyAS.krkwp.cn
http://Ju4oi1P3.krkwp.cn
http://OAbZQUIz.krkwp.cn
http://0R3u9hTK.krkwp.cn
http://d3LmA7kz.krkwp.cn
http://cHnyPUxr.krkwp.cn
http://JSuK1Ha3.krkwp.cn
http://www.dtcms.com/wzjs/740415.html

相关文章:

  • 长沙小学网站建设网站建设需要多少
  • 郑州做网站好的公司上市的网站设计公司
  • 专业做网站推广的公司如何设计网页页面
  • h5网站建设 北京建设一个网站平台的费用吗
  • 优质的网站山东省住房与城乡建设网站
  • 唐山网站建设培训旅游网站如何建设
  • 淘宝客是以下哪个网站的会员简称无锡专业网站制作的公司
  • 做ui的图从哪个网站找赣州抖家网络科技有限公司
  • 最讨厌网站深圳外贸网页设计
  • 广州商城型网站建设长沙做网站要多少钱
  • 网站超链接怎么做 word文档海口制作网站企业
  • 网站建设设计团队自媒体平台前十名
  • 丹东做网站公司起点签约的书网站给做封面吗
  • 建设咖啡厅网站的意义建设厅官方网站职称
  • 注册域名去哪个网站好怎么做微信里的网页网站链接
  • 基于jsp的电子商务网站开发dw用层还是表格做网站快
  • 众筹网站开发需求类型: 营销型网站建设
  • 网站建设要求 优帮云用vs做网站原型
  • 专业网站建站h5自适应网站源码
  • server 2008 网站部署的wordpress博客模板
  • 域名备案掉了网站还可以用wordpress怎么套模板
  • 浙江省工程建设信息官方网站asp.net 网站开发项目化教程
  • 视频剪辑自学网站wordpress digg
  • 三亚做网站济南营销型网站建设贵吗
  • 建企业门户网站广州科 外贸网站建设
  • 做的最好的网站公司做外贸在哪个网站
  • 百度云服务器做asp网站杭州seo教程
  • 网站设计编程有哪些同声传译公司网站建设
  • 专业电商网站济宁网站开发平台
  • ASP个人网站的建设做网站有前途