GoralWMoro

Untitled

Dec 3rd, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. #include <pthread.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <unistd.h>
  5.  
  6. void *kwadrat(void *arg){
  7. int *liczba = (int *)arg;
  8. int *result = malloc(sizeof(int));
  9. *result = *liczba * *liczba;
  10. return result;
  11. }
  12.  
  13. int main(int argc, char *argv[]) {
  14.  
  15. pthread_t watki[argc];
  16.  
  17. int *kwadrat_wynik=0;
  18. int suma=0;
  19. for(int i=0; i < argc-1; i++){
  20. int liczba = atoi(argv[i+1]);
  21. pthread_create( &watki[i], NULL, kwadrat, &liczba);
  22. sleep(1);
  23. }
  24.  
  25. for(int i=0; i < argc-1; i++){
  26. pthread_join(watki[i], (void **)&kwadrat_wynik);
  27. suma += *kwadrat_wynik;
  28. printf("%d:%ld:%d:%s:%d\n",i, watki[i] ,getpid(), argv[i+1], *kwadrat_wynik);
  29. }
  30.  
  31. printf("%s:%ld:%d:%d\n","Watek_glowny", pthread_self() ,getpid(), suma);
  32.  
  33. return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment