pthread_create
时间: 2023-09-02 08:08:56 浏览: 73
pthread_create()是一个POSIX线程库函数,用于创建一个新的线程。它接受四个参数:指向线程标识符的指针、线程属性、指向函数的指针和函数参数。该函数成功时返回0,否则返回错误代码。例子代码如下:
```
#include <pthread.h>
#include <stdio.h>
void *myThread(void *arg){
printf("Hello from myThread!\n");
pthread_exit(NULL);
}
int main(){
pthread_t thread_id;
printf("Before thread creation.\n");
pthread_create(&thread_id, NULL, myThread, NULL);
printf("After thread creation.\n");
pthread_join(thread_id, NULL);
printf("After thread joined.\n");
return 0;
}
```
该程序创建了一个新的线程,并在新线程中输出“Hello from myThread!”。主线程等待新线程结束后再输出“After thread joined.”。
相关问题
Pthread_create
pthread_create是一个POSIX线程库函数,用于创建一个新的线程。它的原型如下:
```c
#include <pthread.h>
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
void *(*start_routine) (void *), void *arg);
```
其中,`thread`参数是指向线程标识符的指针,`attr`参数是指向线程属性的指针,`start_routine`参数是指向线程函数的指针,`arg`参数是传递给线程函数的参数。
调用pthread_create函数会创建一个新的线程,并将其加入到进程中。新线程会从`start_routine`函数开始执行,并且可以通过`arg`参数传递参数给该函数。如果不需要传递参数,可以将`arg`设置为NULL。
在创建线程时,可以通过`attr`参数指定线程的属性,例如线程的调度策略、优先级等。如果不需要指定属性,可以将`attr`设置为NULL。
当线程函数执行完毕时,线程会自动退出,并且会自动释放其占用的资源。
阅读全文