pthread_create *
时间: 2023-08-24 19:04:27 浏览: 162
pthread_create是一个函数,用于在C/C++中创建一个新的线程。它接受四个参数,分别是指向线程标识符的指针、线程属性、线程函数和传递给线程函数的参数。这个函数会创建一个新的线程,使得该线程开始执行指定的线程函数。
下面是一个示例代码,展示了如何使用pthread_create函数创建一个新的线程:
```c
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
void* thread_function(void* arg)
{
int thread_arg = *((int*)arg);
printf("Thread function argument: %d\n", thread_arg);
// 线程执行的代码写在这里
// ...
return NULL;
}
int main()
{
pthread_t thread_id;
int thread_arg = 123;
int result = pthread_create(&thread_id, NULL, thread_function, &thread_arg);
if (result != 0) {
perror("pthread_create failed");
exit(EXIT_FAILURE);
}
// 等待新线程执行完毕
result = pthread_join(thread_id, NULL);
if (result != 0) {
perror("pthread_join failed");
exit(EXIT_FAILURE);
}
printf("New thread completed\n");
return 0;
}
```
在上面的例子中,我们定义了一个线程函数thread_function,它接受一个整数参数作为输入。在主函数中,我们创建一个新的线程,并将thread_function作为线程函数传递给pthread_create函数。我们还传递了一个整数参数给线程函数。
请注意,上述示例只是一个简单的示例,实际使用时可能需要更复杂的线程同步和资源管理。
阅读全文