timus221

Untitled

Mar 18th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <mmsystem.h>
  5. #include <math.h>
  6. #pragma comment(lib, "winmm.lib")
  7. //#include <winmm.lib>
  8.  
  9. DWORD czas1, czas2;
  10.  
  11. unsigned long licznik1=0, licznik2=0, licznik3=0, licznik4=0, licznik5=0;
  12. double suma1=0, suma2=0, suma3=0, suma4=0, suma5=0;
  13.  
  14.  
  15.  
  16. DWORD WINAPI watek1(void *v)
  17. {
  18. int i;
  19. while (1)
  20. {
  21. for (i = 0; i < 500; i++)
  22. {
  23. suma1 += sin(i);
  24.  
  25. }
  26. licznik1++;
  27. }
  28. }
  29. DWORD WINAPI watek2(void *v)
  30. {
  31. int i;
  32. while (1)
  33. {
  34. for (i = 0; i < 500; i++)
  35. {
  36. suma2 += sin(i);
  37. }
  38. licznik2++;
  39.  
  40. }
  41. }
  42. DWORD WINAPI watek3(void *v)
  43. {
  44. int i;
  45. while (1)
  46. {
  47. for (i = 0; i < 500; i++)
  48. {
  49. suma3 += sin(i);
  50. }
  51. licznik3++;
  52.  
  53. }
  54. }
  55. DWORD WINAPI watek4(void *v)
  56. {
  57. int i;
  58. while (1)
  59. {
  60. for (i = 0; i < 500; i++)
  61. {
  62. suma4 += sin(i);
  63. }
  64. licznik4++;
  65.  
  66. }
  67. }
  68. DWORD WINAPI watek5(void *v)
  69. {
  70. int i;
  71. while (1)
  72. {
  73. for (i = 0; i < 500; i++)
  74. {
  75. suma5 += sin(i);
  76. }
  77. licznik5++;
  78.  
  79. }
  80. }
  81.  
  82. int main(int argc, char *argv[])
  83. {
  84.  
  85. int i;
  86. DWORD IdWatku1, IdWatku2, IdWatku3, IdWatku4,IdWatku5;
  87. HANDLE watek_a, watek_b, watek_c,watek_d,watek_e;
  88.  
  89. watek_a = CreateThread(NULL, 0, watek1, 0, 0, &IdWatku1);
  90. SetThreadPriority(watek_a, 0);
  91.  
  92. watek_b = CreateThread(NULL, 0, watek2, 0, 0, &IdWatku2);
  93. SetThreadPriority(watek_b, -1);
  94. watek_c = CreateThread(NULL, 0, watek3, 0, 0, &IdWatku3);
  95. SetThreadPriority(watek_c, -1);
  96. watek_d = CreateThread(NULL, 0, watek4, 0, 0, &IdWatku4);
  97. SetThreadPriority(watek_d, -2);
  98. watek_e = CreateThread(NULL, 0, watek5, 0, 0, &IdWatku5);
  99. SetThreadPriority(watek_e, -2);
  100.  
  101. for (i = 1; i < 1000; i++)
  102. {
  103. Sleep(100);
  104.  
  105. printf("licznik1= %lu licznik2=%lu licznik3=%lu licznik4=%lu licznik5=%lu \n", licznik1, licznik2, licznik3, licznik4, licznik5);
  106.  
  107.  
  108.  
  109. while (kbhit())
  110.  
  111. {
  112. char znak = getch();
  113. if (znak == 49)
  114. {
  115. SuspendThread(watek_a);
  116. }
  117.  
  118. else if(znak == 50){
  119. ResumeThread(watek_a);
  120. }
  121.  
  122.  
  123.  
  124. }
  125. }
  126. system("PAUSE");
  127. return 0;
  128. }
Advertisement
Add Comment
Please, Sign In to add comment