timus221

Untitled

Mar 18th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <windows.h>
  5. #include <mmsystem.h>
  6. #pragma comment(lib, "winmm.lib")
  7. //#include <winmm.lib>
  8.  
  9. DWORD czas1, czas2;
  10.  
  11. float w1 = 0, w2 = 0, w3 = 0;
  12.  
  13. DWORD WINAPI watek1(void *v)
  14. {
  15. int i;
  16. while (1)
  17. {
  18. for (i = 0; i < 30000; i++)
  19. ;
  20. w1++;
  21. }
  22. }
  23. DWORD WINAPI watek2(void *v)
  24. {
  25. int i;
  26. while (1)
  27. {
  28. czas1 = timeGetTime();
  29. for (i = 0; i<1000; i++)
  30. ;
  31. w2++;
  32. czas2 = timeGetTime();
  33. }
  34. }
  35. DWORD WINAPI watek3(void *v)
  36. {
  37. int i;
  38. while (1)
  39. {
  40. for (i = 0; i<30000; i++)
  41. ;
  42. w3++;
  43. }
  44. }
  45. int main(int argc, char *argv[])
  46. {
  47.  
  48. int i;
  49. DWORD IdWatku1, IdWatku2, IdWatku3;
  50. HANDLE watek_a, watek_b, watek_c;
  51.  
  52. watek_a = CreateThread(NULL, 0, watek1, 0, 0, &IdWatku1);
  53. SetThreadPriority(watek_a, 0);
  54.  
  55. watek_b = CreateThread(NULL, 0, watek2, 0, 0, &IdWatku2);
  56. SetThreadPriority(watek_b, -1);
  57. watek_c = CreateThread(NULL, 0, watek3, 0, 0, &IdWatku3);
  58. SetThreadPriority(watek_c, -2);
  59.  
  60. for (i = 1; i<1000; i++)
  61. {
  62. Sleep(500);
  63.  
  64.  
  65. printf("w1= %lf \t w2=%lf \t w3=%lf \n",w1,w2,w3);
  66. if (w2!=0) printf("w1/w2=%lf\n",w1/w2);
  67. if (w3!=0) printf("w1/w3=%lf\n",w1/w3);
  68.  
  69. /*
  70. printf("czas1:%u\n", czas1);
  71. printf("czas2:%u\n", czas2);
  72. printf("czas2-czas1:%u\n", czas2 - czas1);
  73. */
  74.  
  75. }
  76. system("PAUSE");
  77. return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment