# include <stdio.h> # include \"forkjoin.h\" int main() { int arr1[10]={1,1,1,1,1,1,1,1,1,1}; int arr2[10]={2,2,2,2,2,2,2,2,2,2}; int id; int iCount; /* Copy Array-1 to Array-2 Using 2 Processes */ id=process_fork(2); if(id==0) { /* Parent Process */ for(iCount=0;iCount<10;iCount=iCount+2) { arr2[iCount]=arr1[iCount]; } } else { /* Child Process */ for(iCount=1;iCount<10;iCount=iCount+2) { arr2[iCount]=arr1[iCount]; } } process_join(2,id); /* Here Child Process is Completed and We have not made Array 2 Shared So Changes made by Child Process is not visible in Parent Process */ printf(\"\\n Array 2 ... \\n\"); for(iCount=0;iCount<10;iCount++) { printf(\"arr2[%d] : %d\\n\",iCount,arr2[iCount]); } return 0; }