使用使用pthread_create等函数修改
时间: 2023-09-07 07:17:55 浏览: 76
使用 `pthread_create` 函数可以创建一个新线程,并在新线程中执行指定的函数。其函数原型为:
```
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
```
其中,`thread` 参数用于存储新线程的 ID;`attr` 参数用于指定线程的属性,通常可以传递 `NULL`;`start_routine` 参数指定新线程中要执行的函数;`arg` 参数传递给 `start_routine` 函数作为参数。
以下是一个简单的例子,展示如何使用 `pthread_create` 函数创建一个新线程:
```
#include <stdio.h>
#include <pthread.h>
void *thread_func(void *arg)
{
printf("Hello, World!\n");
return NULL;
}
int main()
{
pthread_t thread;
int ret = pthread_create(&thread, NULL, thread_func, NULL);
if (ret != 0) {
printf("Failed to create thread!\n");
return 1;
}
pthread_join(thread, NULL);
return 0;
}
```
在上面的例子中,我们定义了一个名为 `thread_func` 的函数,用于在新线程中执行。在 `main` 函数中,我们使用 `pthread_create` 函数创建一个新线程,并将 `thread_func` 函数指定为新线程中要执行的函数。我们还调用了 `pthread_join` 函数,等待新线程执行完毕。
当然,`pthread_create` 函数还有其他参数和选项,你可以参考相关资料进行学习和使用。
阅读全文