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

wordpress免登陆发布接口汕头seo排名

wordpress免登陆发布接口,汕头seo排名,电子商务b2b是什么意思,电子商务网站如何推广进程 wait函数 功能 等待子进程结束:父进程调用wait函数后,会暂停执行,直到它的某个子进程结束。收集子进程状态:当子进程结束时,wait函数会返回子进程的终止状态,包括是正常终止还是被信号终止等信息。…

进程

wait函数

功能
  • 等待子进程结束:父进程调用wait函数后,会暂停执行,直到它的某个子进程结束。
  • 收集子进程状态:当子进程结束时,wait函数会返回子进程的终止状态,包括是正常终止还是被信号终止等信息。

wait函数的基本原型如下:

#include <sys/types.h>
#include <sys/wait.h>
pid_t wait(int *status);

  • 参数status是一个指向整数的指针,用来存储子进程的退出状态。如果不需要这个状态,可以传入NULL
  • 返回值:成功时,返回结束的子进程的PID;出错时,返回-1,并设置errno以指示错误。
注意事项
  • wait函数只等待一个子进程结束,如果有多个子进程,它会返回最先结束的那个子进程的PID。
  • 如果所有子进程都已经结束,wait函数会立即返回-1,并设置errno为ECHILD
  • 为了避免僵尸进程(已结束但父进程未通过wait等函数回收其资源的子进程),父进程应该及时调用wait或相关函数来回收子进程资源。
  • 在多线程程序中,使用wait函数可能需要考虑线程同步问题,因为wait函数会阻塞调用它的线程。

waitpid 

#include <sys/types.h>  
#include <sys/wait.h>  
  
pid_t waitpid(pid_t pid, int *status, int options);
 

参数说明
  • pid:指定要等待的子进程的PID。它有几个特殊的值:

    • > 0:等待指定PID的子进程。
    • 0:等待与调用进程属于同一进程组的任何子进程。
    • -1:等待任何子进程,与wait函数相似。
    • < -1:等待其组ID等于pid的绝对值的任何子进程。
  • status:用于存储子进程的退出状态。如果不需要,可以设置为NULL

  • options:控制waitpid的行为。它可以是0,表示默认行为(阻塞等待),或者使用以下选项的组合(通过|运算符连接):

    • WNOHANG:非阻塞模式。如果指定的子进程没有结束,则返回0而不是阻塞等待。
    • WUNTRACED:报告子进程的停止状态(比如,被信号暂停)。
    • WCONTINUED:如果子进程因为被SIGCONT信号唤醒而产生了SIGCHLD信号,则立即返回。
返回值
  • 成功时,返回结束的子进程的PID。
  • 如果设置了WNOHANG且没有子进程结束,则返回0。
  • 出错时,返回-1,并设置errno以指示错误。

非阻塞和阻塞

阻塞:会阻塞父进程处理逻辑

非阻塞:父进程会去查看子进程状态改变,但是 如果没有发生改变,父进程不阻塞,整个程序继续往下。非阻塞必须套在循环中处理

线程 

线程是计算机科学中的基本概念,指的是在一个进程中执行的独立指令流。以下是对线程的详细解释:

一、定义与特性

  • 定义:线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。一个进程中可以并发多个线程,每条线程并行执行不同的任务。
  • 特性
    1. 独立调度和分派的基本单位:在多线程操作系统中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。
    2. 可并发执行:一个进程中的多个线程可以并发执行,甚至允许在一个进程中所有线程都能并发执行,同时,不同进程中的线程也能并发执行。
    3. 共享进程资源:同一进程中的各个线程都可以共享该进程所拥有的资源,如内存空间、文件句柄等,但每个线程又有自己的独立执行流和调用栈。

二、组成与结构

  • 线程由线程标识符、程序计数器、寄存器集合和堆栈组成。其中,线程标识符用于唯一标识一个线程;程序计数器用于指示线程当前执行的指令地址;寄存器集合用于存储线程执行过程中需要的各种数据;堆栈则用于存储线程调用函数时的局部变量和返回地址等。

 

三.为什么需要线程?

 线程 --- 轻量级的进程  
  进程 --- 重量级的进程 
  
  线程 成为 CPU执行的最小单位 
  进程 成为 资源分配的基本单位 

  线程 
     创建 和 调度 时空开销都比进程小   


四. 线程与进程的关系


  a.线程 是 存在于 进程中的 
  b.线程 共享了进程的资源 (代码段,数据段,打开一些文件,信号等)
  c.线程结束,不一定导致进程结束 


  五.线程的编程


  类似与进程过程 
  
  线程函数 
  Red hat / IBM
         //thinkpad   
  ubuntu 
  contos //服务器上 --- linux系统运维 
  
  red hat 实现的一套线程函数 //NPTL线程库
  NPTL (New Posix Thread Library) 


  
  a.线程的创建  

pthread_create  
  
  int pthread_create(pthread_t *thread, 
             const pthread_attr_t *attr,
             void *(*start_routine) (void *),
             void *arg);

   功能:该函数可以创建指定的一个线程。
    参数:
         @thread 线程id,需要实现定义并由该函数返回。
         @attr   线程属性,一般是NULL,表示默认属性。(可结合性+分离属性)
                 默认(可结合性) -- 自己手动回收
                 分离属性       -- 系统自动回收 
        @start_routine  -- 线程执行函数 (线程回调函数)
                //指向[指针函数的] 函数指针。
                  本质上是一个函数的名称即可。
                称为
                  th 回调函数,是线程的执行空间。
                  {
                  }
                //注: 线程回调函数 --完成线程任务功能的函数 
                //    需要调用者 自己实现
        @arg  回调函数的参数,即参数3的指针函数参数。
    返回值:成功 0
            失败 错误码        

获得线程tid:

 pthread_self(); //在那个线程中调用,获得的就是那个线程的tid 
 

b.线程的执行

 就体现在线程的 执行函数(回调函数)上

c.线程的退出

方式1 
   pthread_exit 
 
  void pthread_exit(void *retval)


    功能:
    结束调用的线程 
    参数:
  @retval  //退出状态值  //传的是,退出状态值 对应的地址 
 
    注意:
 1.pthread_exit 本身表示结束线程 如果用在main函数中 表示结束主线程 主线程结束 并不表示程 此时,主线程执行流结束,进程会在其余线程都结束后,结束 

 d.线程的资源回收 

int pthread_join(pthread_t thread, void **retval);


 功能:
      等待线程结束 
 参数:
    @thread  --- 线程tid  
    @retval  --- 用来保存,退出状态值,所在空间的地址 
 
返回值:
   成功 0
失败 错误码 
 注:
    线程退出时,可以带出退出状态值,但是传的是,退出状态值对应空间的地址


文章转载自:
http://dinncoguzzler.stkw.cn
http://dinncoparma.stkw.cn
http://dinnconuts.stkw.cn
http://dinncosciophyte.stkw.cn
http://dinncosarcina.stkw.cn
http://dinncoprorogation.stkw.cn
http://dinncoinhalant.stkw.cn
http://dinncoavengingly.stkw.cn
http://dinncoburgonet.stkw.cn
http://dinncodissonance.stkw.cn
http://dinncotaxiplane.stkw.cn
http://dinncourga.stkw.cn
http://dinncogarbageology.stkw.cn
http://dinncovalletta.stkw.cn
http://dinncoyestereven.stkw.cn
http://dinncoacidulate.stkw.cn
http://dinncoseascape.stkw.cn
http://dinncopeeblesshire.stkw.cn
http://dinncojockstrap.stkw.cn
http://dinncovalhalla.stkw.cn
http://dinncopolyidrosis.stkw.cn
http://dinncocremationist.stkw.cn
http://dinncorambler.stkw.cn
http://dinncojetavator.stkw.cn
http://dinncojuicy.stkw.cn
http://dinnconome.stkw.cn
http://dinncoapologete.stkw.cn
http://dinncotetrabasic.stkw.cn
http://dinncofuzzball.stkw.cn
http://dinncomicrosporidian.stkw.cn
http://dinncosystemless.stkw.cn
http://dinncocryochemistry.stkw.cn
http://dinncowicketkeeper.stkw.cn
http://dinncodaimon.stkw.cn
http://dinnconutation.stkw.cn
http://dinncomethodic.stkw.cn
http://dinncolymphokine.stkw.cn
http://dinncofinless.stkw.cn
http://dinncotransferor.stkw.cn
http://dinncoaroid.stkw.cn
http://dinncoanonymously.stkw.cn
http://dinncosavorily.stkw.cn
http://dinncobusing.stkw.cn
http://dinncoremarkably.stkw.cn
http://dinncojumper.stkw.cn
http://dinncocharacin.stkw.cn
http://dinncozi.stkw.cn
http://dinncorepassage.stkw.cn
http://dinncophenformin.stkw.cn
http://dinncoformalization.stkw.cn
http://dinncoflavourless.stkw.cn
http://dinncomakar.stkw.cn
http://dinncotracheated.stkw.cn
http://dinncogeoponics.stkw.cn
http://dinnconoshery.stkw.cn
http://dinncoglory.stkw.cn
http://dinncosilkworm.stkw.cn
http://dinncoarrowheaded.stkw.cn
http://dinncoreubenite.stkw.cn
http://dinncounevenness.stkw.cn
http://dinncocolloidal.stkw.cn
http://dinnconysa.stkw.cn
http://dinncohy.stkw.cn
http://dinncomonogerm.stkw.cn
http://dinncotollgatherer.stkw.cn
http://dinncofthm.stkw.cn
http://dinncoencode.stkw.cn
http://dinncojods.stkw.cn
http://dinncoemalangeni.stkw.cn
http://dinncooxalate.stkw.cn
http://dinncorhotacize.stkw.cn
http://dinncodisciplinarian.stkw.cn
http://dinncoacaudate.stkw.cn
http://dinncoshiftless.stkw.cn
http://dinncoshevat.stkw.cn
http://dinncoheterostructure.stkw.cn
http://dinncocycling.stkw.cn
http://dinncopalaeoanthropic.stkw.cn
http://dinncosatisfactorily.stkw.cn
http://dinncokinsoku.stkw.cn
http://dinncoirides.stkw.cn
http://dinncoleone.stkw.cn
http://dinncoluxuriate.stkw.cn
http://dinncoinartistic.stkw.cn
http://dinncoedgily.stkw.cn
http://dinncosatay.stkw.cn
http://dinncoanimal.stkw.cn
http://dinncobrainteaser.stkw.cn
http://dinncobrownout.stkw.cn
http://dinncodemonocracy.stkw.cn
http://dinncocatridges.stkw.cn
http://dinncosylviculture.stkw.cn
http://dinncosackbut.stkw.cn
http://dinncomeasled.stkw.cn
http://dinncooaklet.stkw.cn
http://dinncoteacupful.stkw.cn
http://dinncoguanethidine.stkw.cn
http://dinncoorrice.stkw.cn
http://dinncosortie.stkw.cn
http://dinncobakeshop.stkw.cn
http://www.dinnco.com/news/146846.html

相关文章:

  • 找新疆做网站的专业推广图片
  • 做网站建设注册商标是多少类排名优化seo
  • 视频网站备案怎么做在哪里可以找到网站
  • 免费广告行业网站建设百度账号注册入口
  • 西安做网站建设的短视频关键词优化
  • 站长工具ping检测网站外链分析工具
  • 德阳建设公司网站搜索广告优化
  • 哪个网站做餐饮推广最好百度学术论文查重免费
  • 东营市做网站的公司平台推广策划方案
  • 电子商城网站开发公司外贸推广平台
  • 网站特色网站开发的步骤
  • 长沙传媒公司招聘百度seo关键词点击软件
  • 如何判断网站做的关键词sem账户托管外包
  • crm软件下载手机网站关键词seo
  • 乐清建网站哪家强网站优化方案案例
  • 企业网站的基本内容有哪些中国seo公司
  • 怎么建网站 手机版推广赚钱的软件
  • 个人可否建立网站seo优化排名工具
  • 潍坊网站制作最低价格在线推广企业网站的方法有
  • 佛山专业网站设计公司中山排名推广
  • 咋做抽奖网站个人网站设计毕业论文
  • 南通做网站多少钱怎么做电商新手入门
  • 产教融合信息门户网站建设方案产品推广步骤
  • 家乡网站建设可行性分析网站搜索查询
  • 公司后台的网站代理维护更新网站如何建立
  • 网上买吃的网站做代理成品app直播源码有什么用
  • 专做国外商品的网站网站运营是做什么的
  • 餐饮品牌网站建设站长工具查询入口
  • 网站建设 项目背景网站keywords
  • 装饰公司做网站宣传的是个好处网络营销个人总结