c语言编写两个函数并行运行,当都运行结束后主函数结束
时间: 2024-12-06 13:25:03 浏览: 15
在C语言中,为了实现在主函数中同时启动两个函数并行运行,你需要使用线程库,如POSIX线程库(pthreads)或者Windows API中的CreateThread。以下是一个基本的例子,展示了如何创建两个线程并发执行:
```c
#include <stdio.h>
#include <pthread.h>
// 定义两个函数,它们将在各自的线程中执行
void* function1(void* arg) {
printf("Function 1 is running...\n");
// 这里放你要执行的具体任务
return NULL;
}
void* function2(void* arg) {
printf("Function 2 is running...\n");
// 同理,这里放第二个函数的任务
return NULL;
}
int main() {
pthread_t thread1, thread2; // 线程ID
// 创建线程1
if (pthread_create(&thread1, NULL, function1, NULL)) {
perror("Error creating thread 1");
return 1;
}
// 创建线程2
if (pthread_create(&thread2, NULL, function2, NULL)) {
perror("Error creating thread 2");
return 1;
}
// 等待所有线程完成
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
printf("Both threads have finished.\n");
return 0;
}
```
在这个例子中,`pthread_create`用于启动线程,`pthread_join`等待线程执行完毕。当这两个线程完成后,主函数才会继续执行并输出相应的信息。
阅读全文