pthread_create传递参数详解
时间: 2023-11-15 10:00:52 浏览: 85
pthread_create() 函数是用于创建线程的函数,它的第三个参数 start_routine 是一个指向函数的指针,该函数将作为新线程的入口点。第四个参数 arg 是传递给 start_routine 函数的参数。在创建线程时,可以将一个结构体作为参数传递给 start_routine 函数,该结构体包含了多个参数。在 start_routine 函数中,可以通过强制类型转换将参数转换为正确的类型,并使用它们。需要注意的是,传递给 start_routine 函数的参数必须是指针类型。
相关问题
Pthread_create参数详解
pthread_create是一个用于创建线程的函数。它的函数原型为:
```c
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
```
下面是对每个参数的详细解释:
1. `pthread_t *thread`:指向pthread_t类型的指针,用于存储新创建线程的ID。
2. `const pthread_attr_t *attr`:指向pthread_attr_t类型的指针,用于设置新线程的属性。可以传递NULL,使用默认属性。
3. `void *(*start_routine) (void *)`:指向线程函数的指针。线程函数必须返回指向void的指针,并且接受一个指向void的参数。
4. `void *arg`:传递给线程函数的参数。如果没有参数传递,可以传递NULL。
返回值:
如果线程创建成功,pthread_create返回0。如果出现错误,返回值为错误代码。
pthread_create参数详解
pthread_create函数有三个参数:
1. thread:指向线程标识符的指针,用于存储新线程的标识符。
2. attr:一个指向pthread_attr_t类型对象的指针,用于设置线程属性。如果值为NULL,则使用默认属性。
3. start_routine:指向线程运行函数的指针。线程会在创建后立即执行这个函数。
4. arg:传递给线程运行函数的参数。
pthread_create函数返回值为0时表示成功创建了新线程,其它值表示失败.
阅读全文