Sunday, 24 January 2016

How To Create Threads using pthread

                 In this post, we will see how to create threads in C language program using pthread. To study parallel/concurrent programming using any API, array addition (One dimensional) is always a better choice. It's because, in array addition, all additions are independent. You can use one thread to do one addition operation.  
                Here I have provided sample program for concurrent or parallel array addition using pthread. You have to include header file "pthread.h". Each thread is created using function pthread_create(). You can exit from particular thread by calling pthread_exit(NULL).                  
               Go through the following program. 

Program: (progbypthread.c)

#include <pthread.h>
#include <stdio.h>

int numofthreads=5;
int a[5]={1,2,3,4,5};
int b[5]={6,7,8,9,10};
int c[5];

void *arrayadd(void *threadid)
   int tid;
   tid = (int)threadid;
   printf("The value of c[%d]=%d calculated by thread %d\n",tid,c[tid],tid);

   // To exit from this thread


int main (int argc, char *argv[])
   pthread_t threads[numofthreads];
   int err;
   int i;

   for(i=0; i<numofthreads; i++)
      err = pthread_create(&threads[i], NULL, arrayadd, (void *)i);
         printf("Error while creating thread\n");
         return 0;

   // To exit from main thread


How To Run:
To Compile:
gcc -pthread progbypthread.c
(Note: -pthread is used to use pthread library)

To Run:


                         (Note: All array additions are getting computed simultaneously by different threads. That's why you may get result in any sequence.)

Previous: How To Create Threads in Java

No comments:

Post a comment