实验6 Linux进程并发程序设计
1实验目的:
掌握Linux环境下的进程并发程序及管道应用程序的编写要点。
2实验内容和实验步骤:
(1)调试并运行3.10的并发程序设计实例,显示结果是什么,并分析之。[m112001@tan ~]$ ls
a.out ch2 hi lab1 lab2 lab3 lab4 lab6 subdir test test.c time.c
[m112001@tan ~]$ cd lab6
[m112001@tan lab6]$ ls
a.out child1 child.c father1 father.c pipeline.c
[m112001@tan lab6]$ cc pipeline.c
[m112001@tan lab6]$ ./a.out
[m112001@tan lab6]$ -----Parent is using pipe write.
child,child.
分析:父进程通过管道提供字符串“--Parent is using pipe write.”给子进程,子进程通过管道接收这条信息后,通过printf("——%s \n child, child. \n", output);语句输出结果。
(2)编写一个并发程序,父进程打印“The Parent is running”;子进程打印“The Child is running”;
程序:
#include
#include
main()
{
int p1;
while((p1=fork())==-1);
if(p1==0)
printf("The Child is running\n");
else
printf("The Parent is running\n");
}
执行:
[m112001@tan lab6]$ gcc -o program1 program.c
program.c:11:2: warning: no newline at end of file
[m112001@tan lab6]$ ./program1
The Child is running
The Parent is running
[m112001@tan lab6]$