一个多线程的简单C语言示例程序
时间: 2023-08-01 13:09:34 浏览: 44
以下是一个简单的多线程C语言示例程序,其中包含两个线程,一个线程用于输出奇数,另一个用于输出偶数:
```c
#include <stdio.h>
#include <pthread.h>
void *printOdd(void *arg) {
for (int i = 1; i <= 10; i += 2) {
printf("Odd: %d\n", i);
}
return NULL;
}
void *printEven(void *arg) {
for (int i = 2; i <= 10; i += 2) {
printf("Even: %d\n", i);
}
return NULL;
}
int main() {
pthread_t t1, t2;
pthread_create(&t1, NULL, printOdd, NULL);
pthread_create(&t2, NULL, printEven, NULL);
pthread_join(t1, NULL);
pthread_join(t2, NULL);
return 0;
}
```
在这个示例程序中,我们使用了POSIX线程库(pthread)来创建和管理线程。我们定义了两个函数 `printOdd` 和 `printEven`,分别用于输出奇数和偶数。在 `main` 函数中,我们创建了两个线程 `t1` 和 `t2`,分别用于执行这两个函数。最后,我们调用 `pthread_join` 方法等待这两个线程执行完毕,然后返回0结束程序。
需要注意的是,多线程编程需要仔细处理线程间的同步和互斥,以避免出现竞态条件等问题。