文章来源:https://www.toymoban.com/news/detail-822327.html
使用信号灯集完成三个进程的同步,A进程输出字符A,B进程输出字符B,C进程输出字符C,要求输出结果为ABCABCABCABCABC...文章来源地址https://www.toymoban.com/news/detail-822327.html
#include<myhead.h>
#include"sem.h"
int main(int argc, const char *argv[])
{
//创建并初始化一个结构体
int semid=create_sem(3);
pid_t pid1,pid2;
if((pid1=fork())==0)
{
//子进程1
while(1)
{
P(semid,0);
sleep(1);
printf("A");
fflush(stdout);
V(semid,1);
}
}
if((pid2=fork())==0)
{
//子进程2
while(1)
{
P(semid,1);
sleep(1);
printf("B");
fflush(stdout);
V(semid,2);
}
}
//父进程
while(1)
{
P(semid,2);
sleep(1);
printf("C");
fflush(stdout);
V(semid,0);
}
sem_delete(semid);
wait(NULL);
wait(NULL);
return 0;
}
到了这里,关于IO进程线程Day8的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!