使用C语言写一段使用pthread_create函数的代码
时间: 2023-05-12 21:04:31 浏览: 102
好的,以下是一段使用pthread_create函数的C语言代码:
```
#include <stdio.h>
#include <pthread.h>
void *thread_func(void *arg) {
printf("Hello from thread!\n");
return NULL;
}
int main() {
pthread_t thread_id;
int ret = pthread_create(&thread_id, NULL, thread_func, NULL);
if (ret != 0) {
printf("Error creating thread!\n");
return 1;
}
printf("Hello from main thread!\n");
pthread_join(thread_id, NULL);
return 0;
}
```
这段代码创建了一个新的线程,该线程调用thread_func函数并打印一条消息。主线程也打印了一条消息,然后等待新线程结束。
相关问题
用C语言写一段使用pthread_create函数的代码,注意资源回收
以下是一段使用pthread_create函数的C语言代码,其中包含了资源回收的部分:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *thread_func(void *arg) {
printf("Hello from thread!\n");
return NULL;
}
int main() {
pthread_t thread;
int ret = pthread_create(&thread, NULL, thread_func, NULL);
if (ret != 0) {
printf("Error creating thread!\n");
exit(EXIT_FAILURE);
}
ret = pthread_join(thread, NULL);
if (ret != 0) {
printf("Error joining thread!\n");
exit(EXIT_FAILURE);
}
printf("Thread finished!\n");
return 0;
}
在这段代码中,我们使用pthread_create函数创建了一个新的线程,并将其与thread_func函数关联起来。在主线程中,我们使用pthread_join函数等待线程结束,并在结束后进行资源回收。如果线程创建或等待过程中出现错误,我们会输出错误信息并退出程序。最后,我们输出一条消息表示线程已经结束。
C语言pthread_create函数使用
pthread_create函数是C语言中用来创建线程的函数之一。它的原型为: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函数。线程的属性可以通过attr参数进行设置,如果不需要设置,则可以将attr参数设置为NULL。线程的标识符会被存储在thread指向的内存中,可以通过该标识符来控制线程的行为。
需要注意的是,pthread_create函数的返回值为0表示线程创建成功,否则表示创建失败。在使用pthread_create函数时,需要包含pthread.h头文件,并且需要链接pthread库。
阅读全文