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);
}