侧边栏壁纸
博主头像
noerror

虚灵不寐,众理具而万事出。

  • 累计撰写 239 篇文章
  • 累计创建 9 个标签
  • 累计收到 2 条评论
标签搜索

目 录CONTENT

文章目录

pthread_attr_setdetachstate函数用法详解

noerror
2022-10-04 / 0 评论 / 0 点赞 / 142 阅读 / 495 字 / 正在检测是否收录...

pthread_attr_setdetachstate函数用法详解

pthread_attr_setdetachstate函数简介

  • 头文件包含
#include <pthread.h>
  • 函数定义
int pthread_attr_setdetachstate(pthread_attr_t * attr \
int pthread_attr_getdetachstate(const pthread_attr_t * attr ,
                                int * detachstate );
  • 编译链接选项
-pthread

pthread_attr_setdetachstate函数常见使用错误

  • 链接错误
    undefined reference to `pthread_attr_setdetachstate'
    解决办法:添加链接选项
-pthread
  • 编译错误
    warning: implicit declaration of function ‘pthread_attr_setdetachstate’ [-Wimplicit-function-declaration]
    解决办法:包含头文件
#include <pthread.h>

pthread_attr_setdetachstate函数详细描述

pthread_attr_setdetachstate ()函数将attr引用的thread attributes对象的分离状态属性设置为detachstate 中指定的值。分离状态属性确定使用thread attributes对象attr创建的线程是以可连接状态还是分离状态创建。
可以在detachstate :中指定以下值

  • 使用attr创建的 PTHREAD_CREATE_DETACHED 线程将以分离状态创建。
  • 使用attr创建的 PTHREAD_CREATE_JOINABLE 线程将以可接合状态创建。

在新初始化的thread attributes对象中,detach state属性的默认设置是PTHREAD_CREATE_JOINABLE
pthread_attr_getdetachstate ()返回由detachstate 指向的缓冲区中的线程属性对象attr的分离状态属性

pthread_attr_setdetachstate函数返回值

如果成功,这些函数返回0;错误时,它们返回一个非零错误号。

pthread_attr_setdetachstate函数错误码

pthread_attr_setdetachstate ()可能会失败,出现以下错误:

  • EINVAL 在detachstate 中指定了无效值

pthread_attr_setdetachstate函数其他说明

有关分离线程和可接合线程的更多细节,请参见pthread_create (3)。
在可接合状态下创建的线程最终应该使用pthread_join (3)接合或使用pthread_detach (3);分离(请参阅pthread_create (3)
在以后对pthread_detach (3)或pthread_join (3)的调用中指定以分离状态创建的线程的线程ID是错误的

pthread_attr_setdetachstate函数使用举例

参见pthread_attr_init (3)

0

评论区