PTHREAD_ATTR_SETDETACHSTATE

Posted on 2012-03-19 16:45  无忧consume  阅读(929)  评论(0编辑  收藏  举报

http://cpp.ezbty.org/import_doc/linux_manpage/pthread_attr_getdetachstate.3.html

PTHREAD_ATTR_SETDETACHSTATE


名字

pthread_attr_setdetachstate, pthread_attr_getdetachstate - 设置/获取线程属性对象的分离状态属性

概要

#include <pthread.h>

int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
int pthread_attr_getdetachstate(pthread_attr_t *attr, int *detachstate);

编译并与 -pthread 一起链接。

描述

pthread_attr_setdetachstate() 函数设置 attr 引用的线程属性对象里的分离状态属性为
detachstate 指定的值。分离属性决定使用 attr 线程属性对象创建的线程是可聚合的还是独立的。

detachstate 可指定为下面值:
PTHREAD_CREATE_DETACHED
使用 attr 创建的线程将是独立的。
PTHREAD_CREATE_JOINABLE
使用 attr 创建的线程将是可聚合的。

分离状态属性初始默认值就是 PTHREAD_CREATE_JOINABLE
pthread_attr_getdetachstate() 通过 detachstate 指向的缓存区返回 attr 引用的线程属性对象里的分离状态属性。

返回值

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

错误

pthread_attr_setdetachstate() 可能失败下面错误:
EINVAL
detachstate 中指定了一个无效值。

遵循于

POSIX.1-2001.

注意

参考 pthread_create(3) 来了解更多关于分离的和可聚合的线程细节。

一个使用可聚合状态创建的线程可以使用 pthread_join(3) 来聚合或使用 pthread_detach(3) 来分离;参数 pthread_create(3)。
在后来的 pthread_detach(3) 或 pthread_join(3) 调用中使用一个用分离状态创建的线程的 线程ID 使用参数将会导致错误。

示例

参考 pthread_attr_init(3)。

参看

pthread_attr_init(3), pthread_create(3), pthread_detach(3),
pthread_join(3), pthreads(7)

Copyright © 2024 无忧consume
Powered by .NET 9.0 on Kubernetes