c 交替打印a和b

使用系统调用fork()

#include <stdio.h>
#include <unistd.h>
#define N 20
int main(int argc, char * argv[])
{
int n = N;
int pid = fork();
if (pid == 0) {
while (n--) printf("A"); // 子进程打印A
return 0;
}
else {
while (n--) printf("B"); // 父进程打印B
}
// 父进程回收子进程
if (pid != wait(NULL)) {
printf("error child\n");
}
return 0;
}

使用c函数库

#include <stdio.h>
#include <pthread.h>
fa() {
while(1)
printf("A");
}
fb() {
while(1)
printf("B");
}
int main() {
pthread_t pida, pidb;
pthread_create(&pida, 0, fa, 0);
pthread_create(&pidb, 0, fb, 0);
printf("%ld %ld\n", (long)pida, (long)pidb);
pthread_exit(0);
}
posted @   zkx98  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示