Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <stdlib.h>
  4. #include <pthread.h>
  5.  
  6. int a[6] = {0, 1, 2, 3, 4, 15};
  7. int b[4] = {3, 6, 8, 15};
  8. int c[4] = {0, 1, 15, 16};
  9.  
  10. int i = 0;
  11. int j = 0;
  12. int k = 0;
  13.  
  14. void* p (void* l) { // funkcja watku (watek)
  15. while(1)
  16. {
  17. if(a[i]<b[j])
  18. {
  19. i=i+1;
  20. }
  21. if(a[i]==b[j] && b[j]==c[k])
  22. {
  23. break;
  24. }
  25. }
  26. return 0;
  27. }
  28.  
  29. void* q (void* l) { // funkcja watku (watek)
  30. while(1)
  31. {
  32. if(b[j]<c[k])
  33. {
  34. j=j+1;
  35. }
  36. if(a[i]==b[j] && b[j]==c[k])
  37. {
  38. break;
  39. }
  40. }
  41. return 0;
  42. }
  43.  
  44. void* r (void* l) { // funkcja watku (watek)
  45. while(1)
  46. {
  47. if(c[k]<a[i])
  48. {
  49. k=k+1;
  50. }
  51. if(a[i]==b[j] && b[j]==c[k])
  52. {
  53. break;
  54. }
  55. }
  56. return 0;
  57. }
  58.  
  59. int main () {
  60. pthread_t w1, w2, w3;
  61.  
  62. pthread_create(&w1, 0, p, 0); // tworzy watek dla funkcji p
  63. pthread_create(&w2, 0, q, 0); // tworzy watek dla funkcji q
  64. pthread_create(&w3, 0, r, 0); // tworzy watek dla funkcji r
  65.  
  66. pthread_join(w1, NULL);
  67. pthread_join(w2, NULL);
  68. pthread_join(w3, NULL);
  69.  
  70. printf("\n\nNumber: %d", a[i]);
  71.  
  72. return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement