文章來源:http://www.zghlxwxcb.cn/news/detail-822327.html
使用信號燈集完成三個進(jìn)程的同步,A進(jìn)程輸出字符A,B進(jìn)程輸出字符B,C進(jìn)程輸出字符C,要求輸出結(jié)果為ABCABCABCABCABC...文章來源地址http://www.zghlxwxcb.cn/news/detail-822327.html
#include<myhead.h>
#include"sem.h"
int main(int argc, const char *argv[])
{
//創(chuàng)建并初始化一個結(jié)構(gòu)體
int semid=create_sem(3);
pid_t pid1,pid2;
if((pid1=fork())==0)
{
//子進(jìn)程1
while(1)
{
P(semid,0);
sleep(1);
printf("A");
fflush(stdout);
V(semid,1);
}
}
if((pid2=fork())==0)
{
//子進(jìn)程2
while(1)
{
P(semid,1);
sleep(1);
printf("B");
fflush(stdout);
V(semid,2);
}
}
//父進(jìn)程
while(1)
{
P(semid,2);
sleep(1);
printf("C");
fflush(stdout);
V(semid,0);
}
sem_delete(semid);
wait(NULL);
wait(NULL);
return 0;
}
到了這里,關(guān)于IO進(jìn)程線程Day8的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!