12.3.3 创建线程

12.3.3 创建线程

线程通过调用 pthread_create 函数来创建其他线程。

#include <pthread.h>
typedef void *(func)(void *);

int pthread_create(pthread_t *tid, pthread_attr_t *attr,
                   func *f, void *arg);

若成功则返回 0,若出错则为非零。

pthread_create 函数创建一个新的线程,并带着一个输入变量 arg,在新线程的上下文中运行线程例程 f。能用 attr 参数来改变新创建线程的默认属性。改变这些属性已超出我们学习的范围,在我们的示例中,总是用一个为 NULLattr 参数来调用 pthread_create 函数。

pthread_create 返回时,参数 tid 包含新创建线程的 ID。新线程可以通过调用 pthread_self 函数来获得它自己的线程 ID。

#include <pthread.h>

pthread_t pthread_self(void);

返回调用者的线程 ID。