zoukankan      html  css  js  c++  java
  • 关于对进程、线程的返回状态的获取的理解

    1、线程

    创建线程的函数并不会返回线程的状态,线程状态的返回需要借助一个函数,即pthread_exit函数。这个函数可以把在线程内部把线程的退出信息发送到主线程。

    而主线程需要用一段空间来存储这个子线程退出时候的状态,因此需要在主线程中提前定义一个变量 ,通过pthread_join函数,来接受到线程的退出状态。例如创建一个retval,使用这个变量来接受这个信息即可。

    但是这个变量的类型怎么确定呢?,pthread_join 函数的定义者将这个函数的参数设置成了一个二级指针,如下,

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

    因此在主线程中应该定义一个一级指针,即需要将retval 定义成一个一级指针,而将这个一级指针的地址传递给pthread_join函数,便可以获取线程的退出状态了。

    2、进程

    同理,创建进程的函数也不会返回线程的状态,线程状态的返回需要借助一个函数,即exit函数。这个函数可以把在线程内部把线程的退出信息发送到父进程。

    而主进程程需要用一段空间来存储这个子线程退出时候的状态,因此需要在主进程中提前定义一个变量 ,通过wait函数,来接受到线程的退出状态。例如创建一个val,使用这个变量来接受这个信息即可。

    但是这个变量的类型怎么确定呢? wait函数的定义者将这个函数的参数设置成了一个一级指针,如下,

    pid_t wait(int * status)
    

    因此在父进程中应该定义一个 int变量,即需要将val定义成int型变量,而将这个int变量的地址传递给wait函数,便可以获取进程的退出状态了。

  • 相关阅读:
    python selenium 弹框元素获取
    python小知识点
    ubuntu下配置java环境变量
    用Filezilla往ubuntu虚拟机上传文件
    jmeter,监控插件
    fiddler接口测试
    ZeroClipboard 复制到剪贴板 中文文档
    常用正则表达式
    中英文字体对照 ueditor添加字体
    字符串操作
  • 原文地址:https://www.cnblogs.com/lasnitch/p/12764148.html
Copyright © 2011-2022 走看看