Sunday 15 June 2014

Using pthread in c++ to find max of array -



Using pthread in c++ to find max of array -

;i trying utilize pthread.h library find minimum number array. having problem getting code compile , unfamiliar how utilize pointers create work.

#include <iostream> #include <pthread.h> using namespace std; int *min; int *max; double *average; int n; void* minimum(void* a){ int size = n; int* array = (int*) a; int tempmin = array[0]; for(int i=0; i<size; i++){ if(array[i] < tempmin){ tempmin = array[i]; } } homecoming null; } int main(){ int in; cout << "how many numbers enter?" << endl; cin >> n; int numbers[n]; for(int i=0; i<n; i++){ cout << "enter number " << i+1 << endl; cin >> in; numbers[i] = in; } pthread_t thread1; int iret1 pthread_create(&thread1, null, &minimum, (void*)numbers); }

i assuming exercise, since there improve ways accomplish want. please read this link. here points watch for:

1 - after pthread_create, should phone call pthread_join wait finish , release resources (you create detached thread). need pass array thread argument:

pthread_create(&thread1, null, &minimum, (void*)numbers); pthread_join(thread1, null);

2 - thread function receives void*, need cast whatever argument is:

void* minimum(void* a){ int size = n; int* array = (int*) a; int tempmin = array[0]; for(int i=0; i<size; i++){ if(array[i] < tempmin){ tempmin = array[i]; } } homecoming null; }

c++

No comments:

Post a Comment