GoralWMoro

SO6

Dec 3rd, 2019
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.83 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 suma = liczba * liczba;
  9.     pthread_exit((void *)suma);
  10. }
  11.  
  12. int main(int argc, char *argv[]) {
  13.  
  14.     pthread_t watki[argc];
  15.  
  16.     void *kwadrat_wynik;
  17.     int suma=0;
  18.     for(int i=0; i < argc-1; i++){
  19.         int liczba = atoi(argv[i+1]);
  20.         pthread_create( &watki[i], NULL, kwadrat, (void *)&liczba);
  21.         sleep(0.1);
  22.     }
  23.  
  24.     for(int i=0; i < argc-1; i++){
  25.         kwadrat_wynik=0;
  26.         pthread_join(watki[i], (void **)&kwadrat_wynik);
  27.         suma += (int)kwadrat_wynik;
  28.         printf("%d:%ld:%d:%s:%d\n",i, watki[i] ,getpid(), argv[i+1], (int)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