线程分离设置

PTHREAD_ATTR_SETDETACHSTATELinux Programmer's MaPTHREAD_ATTR_SETDETACHSTATE(3)

NAME        pthread_attr_setdetachstate,   pthread_attr_getdetachstate   -  set/get        detach state attribute in thread attributes object

SYNOPSIS        #include <pthread.h>

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

       Compile and link with -pthread.

DESCRIPTION        The  pthread_attr_setdetachstate()  function  sets  the  detach   state  attribute  of  the  thread attributes object referred to by attr to the        value specified in detachstate.  The detach state attribute  determines   whether  a  thread created using the thread attributes object attr will  be created in a joinable or a detached state.

       The following values may be specified in detachstate:

       PTHREAD_CREATE_DETACHED               Threads that are  created  using  attr  will  be  created  in  a detached state.

       PTHREAD_CREATE_JOINABLE               Threads  that  are created using attr will be created in a join‐able state.

       The default setting of the detach state attribute in a  newly  initialized thread attributes object is PTHREAD_CREATE_JOINABLE.

默认为合并的模式,而分分离模式,若新建一个线程没有指定线程分离属性,默认就是合并的。

       The pthread_attr_getdetachstate() returns the detach state attribute of the thread attributes object attr in the buffer pointed to  by  detachstate.

RETURN VALUE        On  success,  these functions return 0; on error, they return a nonzero        error number.

ERRORS        pthread_attr_setdetachstate() can fail with the following error:

       EINVAL An invalid value was specified in detachstate.

CONFORMING TO        POSIX.1-2001.

NOTES        See  pthread_create(3)  for  more  details  on  detached  and  joinable        threads.

       A  thread  that is created in a joinable state should eventually either        be joined using pthread_join(3) or  detached  using  pthread_detach(3);        see pthread_create(3).

       It is an error to specify the thread ID of a thread that was created in        a  detached  state  in   a   later   call   to   pthread_detach(3)   or        pthread_join(3).

EXAMPLE        See pthread_attr_init(3).

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

COLOPHON        This page is part of release 3.35 of the Linux  man-pages  project.   A        description  of  the project, and information about reporting bugs, can        be found at http://man7.org/linux/man-pages/.

Linux                             2010-02-03    PTHREAD_ATTR_SETDETACHSTATE(3)

原文地址:https://www.cnblogs.com/farbeyond/p/4488823.html