C Programming Tutorial

 
 
 
 

Image

# 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;
}

 
 
Didn't find what you were looking for? Find more on Program to copy the contents of one array to another Without Shared Memory