Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
- #include <mmsystem.h>
- #include <math.h>
- #pragma comment(lib, "winmm.lib")
- //#include <winmm.lib>
- DWORD czas1, czas2;
- unsigned long licznik1=0, licznik2=0, licznik3=0, licznik4=0, licznik5=0;
- double suma1=0, suma2=0, suma3=0, suma4=0, suma5=0;
- DWORD WINAPI watek1(void *v)
- {
- int i;
- while (1)
- {
- for (i = 0; i < 500; i++)
- {
- suma1 += sin(i);
- }
- licznik1++;
- }
- }
- DWORD WINAPI watek2(void *v)
- {
- int i;
- while (1)
- {
- for (i = 0; i < 500; i++)
- {
- suma2 += sin(i);
- }
- licznik2++;
- }
- }
- DWORD WINAPI watek3(void *v)
- {
- int i;
- while (1)
- {
- for (i = 0; i < 500; i++)
- {
- suma3 += sin(i);
- }
- licznik3++;
- }
- }
- DWORD WINAPI watek4(void *v)
- {
- int i;
- while (1)
- {
- for (i = 0; i < 500; i++)
- {
- suma4 += sin(i);
- }
- licznik4++;
- }
- }
- DWORD WINAPI watek5(void *v)
- {
- int i;
- while (1)
- {
- for (i = 0; i < 500; i++)
- {
- suma5 += sin(i);
- }
- licznik5++;
- }
- }
- int main(int argc, char *argv[])
- {
- int i;
- DWORD IdWatku1, IdWatku2, IdWatku3, IdWatku4,IdWatku5;
- HANDLE watek_a, watek_b, watek_c,watek_d,watek_e;
- watek_a = CreateThread(NULL, 0, watek1, 0, 0, &IdWatku1);
- SetThreadPriority(watek_a, 0);
- watek_b = CreateThread(NULL, 0, watek2, 0, 0, &IdWatku2);
- SetThreadPriority(watek_b, -1);
- watek_c = CreateThread(NULL, 0, watek3, 0, 0, &IdWatku3);
- SetThreadPriority(watek_c, -1);
- watek_d = CreateThread(NULL, 0, watek4, 0, 0, &IdWatku4);
- SetThreadPriority(watek_d, -2);
- watek_e = CreateThread(NULL, 0, watek5, 0, 0, &IdWatku5);
- SetThreadPriority(watek_e, -2);
- for (i = 1; i < 1000; i++)
- {
- Sleep(100);
- printf("licznik1= %lu licznik2=%lu licznik3=%lu licznik4=%lu licznik5=%lu \n", licznik1, licznik2, licznik3, licznik4, licznik5);
- while (kbhit())
- {
- char znak = getch();
- if (znak == 49)
- {
- SuspendThread(watek_a);
- }
- else if(znak == 50){
- ResumeThread(watek_a);
- }
- }
- }
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment