Witam, mam problem ponieważ napisałem taki program który ma liczyć sumę szeregu przy użyciu dowolnej liczby wątków jednakże mój program chyba działa niepoprawnie ponieważ im więcej wątków daje tym wolnej sie wykonuje, Prosze o pomoc w tej sprawie.
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>
#define MAXL 100000000
#define LICZBAW 2
#define POCZATEK 1
double sumac = 0;
double start = 0;
double koniec = MAXL/LICZBAW;
double suma(int p,int k) {
double s=0;
int i;
for (i=p;i<=k;i++) s=s+(1.0/i)*(1.0/i);
return s;
}
void* p (void* l) {
double s=0;
s=suma(start+1,koniec);
start = koniec;
koniec += koniec;
sumac+=s;
return 0;
}
int main () {
pthread_t w[LICZBAW];
int i=0;
for(; i<LICZBAW; i++){
pthread_create(&w[i], 0, p, NULL);
pthread_join(w[i], NULL);
}
printf("wynik: %.15lf", sumac);
return 0;
}