pthread_create的使用
时间: 2023-11-15 09:02:05 浏览: 85
pthread_create() 是一个函数,用于创建一个新的线程。它的语法格式如下: int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
其中,thread 是指向 pthread_t 类型的指针,用于存储新线程的标识符;attr 是指向 pthread_attr_t 类型的指针,用于设置新线程的属性;start_routine 是指向函数的指针,新线程将从该函数开始执行;arg 是传递给 start_routine 函数的参数。
下面是一个使用 pthread_create() 函数的样例代码:
#include <stdio.h>
#include <pthread.h>
void *ThreadFun(void *arg) {
printf("Hello, world!\n");
return NULL;
}
int main() {
pthread_t myThread;
int res = pthread_create(&myThread, NULL, ThreadFun, NULL);
if (res != 0) {
printf("线程创建失败\n");
return 0;
}
pthread_join(myThread, NULL);
return 0;
}
在这个样例中,我们定义了一个名为 ThreadFun 的函数,它将作为新线程的入口点。在 main 函数中,我们调用 pthread_create() 函数创建了一个新线程,并将 ThreadFun 函数作为新线程的入口点。最后,我们调用 pthread_join() 函数等待新线程执行完成。
阅读全文