设有二元函数f(x,y) = f(x) + f(y) 其中: f(x) = f(x-1) * x (x >1) f(x)=1 (x=1) f(y) = f(y-1) + f(y-2) (y> 2) f(y)=1 (y=1,2) 请编程建立3个并发协作进程或线程,它们分别完成f(x,y)、f(x)、f(y)
代码如下:
代码如下:
#include
#include
#include
int main(void){
int pid1,pid2;
int pipex1[2];
int pipex2[2];
int pipey1[2];
int pipey2[2];
int x,y;
if(pipe(pipex1)<0){
perror("pipe not create!");
exit(EXIT_FAILURE);}
if(pipe(pipex2)<0){
perror("pipe not create!");
exit(EXIT_FAILURE);}
if(pipe(pipey1)<0){
perror("pipe not create!");
exit(EXIT_FAILURE);}
if(pipe(pipey2)<0){
perror("pipe not create!");
exit(EXIT_FAILURE);}
if((pid1=fork())<0){
perror("process1 not create!");}
else if(pid1==0){
int i=1;
int sum=1;
printf("childx process id:%d\n",getpid());
close(pipex1[1])