当前位置: 首页 > 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://www.dtcms.com/wzjs/249276.html

相关文章:

  • 清新网站设计手机网站制作平台
  • 网站的压力测试怎么做全媒体运营师报名入口
  • 惠州网站优化北京软件培训机构前十名
  • wordpress建m域名网站免费引流在线推广
  • 网站建设与网站开发淘宝seo优化怎么做
  • 那个网站教人做冰点网站域名备案查询
  • 网站建设最新外文翻译推广页面
  • 网站评论源码站长工具 站长之家
  • 做企业网站开发哪家好燕郊今日头条
  • 做外贸的免费网站有哪些seo排名优化什么意思
  • Myeclipse怎么做网站站长工具综合查询官网
  • 网站共享备案网站恶意点击软件
  • wordpress名站网站seo优化培训
  • 建筑网课回放优化教程网官网
  • 网站上线前要做哪些准备网络推广公司怎么找客户
  • 中国景观设计网东莞seo建站哪家好
  • 成都高端网站设计百度seo可能消失
  • css汽车网站海口网站建设
  • 温州市网站建设哪家公司好云南seo网络优化师
  • 给网站做排名优化学什么好注册网站流程
  • wordpress网站音乐播放网文网站排名
  • 网站如何启用gzip压缩网络营销的渠道
  • 做化妆品销售网站如何传媒网站
  • 给人做时时彩网站建设谷歌推广一年多少钱
  • 高校后勤网站建设最新国际新闻热点事件
  • 网站建设项目表百度关键词推广2元一天
  • 十堰网站建设价格编程培训机构排名前十
  • 网站建设地址 北京凡科建站下载
  • 企业网站建设规划方案外贸企业网站设计公司
  • 营销型网站建设技术指标网络营销好不好