2024年5月25日发(作者:)

pthread_create函数用法

pthread_create函数是线程创建函数,用于创建一个新的线程,也称为

线程启动函数。该函数的原型为: int pthread_create(pthread_t *thread,

const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)

一、pthread_create函数说明

1.

2.

3.

4.

二、pthread_create函数的作用

1.

2.

3.

4.

三、pthread_create函数的用法

1. 定义 start_routine 函数:定义 start_routine 函数, 新线程从该函

分配新线程的资源:为新的线程分配系统资源;

创建新线程:利用 start_routine 函数创建新线程;

启动新线程:根据传入参数 attr,启动新线程;

返回值:成功返回 0,失败返回错误码。

pthread_t *thread:系统为新建线程分配的标识符;

const pthread_attr_t *attr:用来设置线程属性,可选;

void *(*start_routine)(void *)): 新线程的入口函数;

void *arg:传递给 start_routine 的参数。

数开始执行;

2.

3.

设置属性 attr:该指针参数一般设置NULL或者指定线程属性;

注册线程函数:调用 pthread_create 函数,注册线程函数;

4.

等待线程结束:调用 pthread_join 函数等待线程结束。

四、pthread_create函数的注意事项

1.

2.

3.

4.

使用 pthread_create 函数创建的线程是由用户空间启动的;

当调用 start_routine 时,参数 arg 就被传递到该函数;

参数 attr 指定创建线程的属性,它是可选的;

如果创建线程成功,函数会返回 0,否则返回出错码。