Teksty programow Zdarzenie1

#include <iostream>

#include <windows.h>

#include <process.h>

#include <conio.h>

using namespace std;

UINT WINAPI Wypelniaj(LPVOID);

const int MAX = 33;


HANDLE hZMain = NULL, hZWatek = NULL;

char tabC[MAX];


int main() // Zdarzenie1.cpp

{

UINT IDW = 0;

hZMain = CreateEvent(NULL, FALSE, TRUE, NULL); // sygnalizowane

hZWatek = CreateEvent(NULL, FALSE, FALSE, NULL); // niesygnalizowane


HANDLE hW = (HANDLE)_beginthreadex(NULL, 0, Wypelniaj, NULL, 0, &IDW);

for(;;){ // wpisuje zawartosc tabC

// czekanie na zasygnalizowanie Zdarzenia hZWatek, az watek pochodny wypelni tabC

WaitForSingleObject(hZWatek, INFINITE);

for (int i = 0; i < MAX; i++) cout << tabC[i]; cout << endl;

if (kbhit() != 0) if (getch() == 'Q' ) break;

Sleep(700); // przerwa między wypisywaniem wierszy

SetEvent(hZMain); // sygnalizacja zdarzenie hZMain, na ktore oczekuje watek pomocniczy

}

CloseHandle(hW); CloseHandle(hZMain); CloseHandle(hZWatek);

return 0;

}


UINT WINAPI Wypelniaj(LPVOID lpVoid) // modyfikacja tablicy tabC

{

static char zn = 'A';

while (1){

//oczekiwanie na zasygnalizowanie hZMain tzn. az watek glowny wypisze tablice

WaitForSingleObject(hZMain, INFINITE);

for(int i = 0; i < MAX; i++) tabC[i] = zn; //wypełnia tablice jednym znakiem

SetEvent(hZWatek);// sygnalizowanie zdarzenia hZWatek, na ktore oczekuje glowny watek

if(zn < 'Z') zn++; else zn = 'A'; // zmienia znak wypelniający

}

_endthreadex(0);

//return 0;

}



Wyszukiwarka

Podobne podstrony:
Teksty programow Watek4
Teksty programow Watek3No
C++ programowanie zdarzeniowe
Teksty programow Watek5
Teksty programow Watek6a
Teksty programow Watek3
Teksty programow Watek3a
Teksty programow Watek3b1
Programowanie zdarzeniowe kontakt, zaliczenie
Programowanie zdarzeniowe W1 Wprowadzenie
Porównanie SWT AWT SWING, Studia, WAT Informatyka, Pz - programowanie zdarzeniowe
Teksty programow Watek6b
C programowanie zdarzeniowe
Ekspresjonizm Teksty programowe
Programowania zdarzeniowe W1 Technologia Applet AWT
Programowania zdarzeniowe W2 SWING Listeners
Konstruowanie indywidualnego programu edukacyjnego, oligofrenopedagogika - różne materiały i teksty
perełki programowania gier vademecum profesjonalisty tom i (fragment) wykrywanie zdarzeń w trójwymi