Linux的pthread_create怎么使用
文章标签
pthread_create
pthread_create函数可以用来创建一个新的线程。它的原型如下:
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
参数说明:
-
thread
:用于存储新线程标识符的变量指针。 -
attr
:用于指定新线程的属性,通常使用默认属性,可以传入NULL。 -
start_routine
:新线程将要执行的函数的指针。 -
arg
:传递给新线程的参数。
下面是一个使用pthread_create函数创建新线程的示例代码:
#include <stdio.h>
#include <pthread.h>
void* thread_function(void* arg) {
printf("Hello from the new thread!\n");
pthread_exit(NULL);
}
int main() {
pthread_t thread;
int result = pthread_create(&thread, NULL, thread_function, NULL);
if (result != 0) {
printf("Error creating thread: %d\n", result);
return 1;
}
printf("Hello from the main thread!\n");
pthread_join(thread, NULL); // 等待新线程执行完毕
return 0;
}
在上面的代码中,我们定义了一个新线程函数thread_function
,它打印一条消息,然后调用pthread_exit
来退出线程。在主函数中,我们通过调用pthread_create函数来创建新线程,并传入新线程函数的指针。然后,我们在主线程中打印另一条消息,并调用pthread_join函数来等待新线程执行完毕。
注意:在使用pthread_create函数创建新线程时,需要在编译时链接pthread库,可以使用-pthread
选项来编译,例如:
gcc -pthread main.c -o main
版权声明
本文仅代表作者观点,不代表米安网络立场。
上一篇:php工作流框架有哪些 下一篇:PHP中include_once怎么使用
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。