Verständnisfrage Thread events?
-
Wenn ich nun mit SetEvent(hTimerEvent) ausführe, wird der thread ausgeführt und die '*' ausgegeben.
static unsigned __stdcall TimerThread (PVOID pvoid); static HANDLE hTimerEvent = 0; static HANDLE hTimerThread = 0; ... // Event erzeugen: hTimerEvent = CreateEvent(NULL, FALSE, TRUE, __TEXT("hTimerEvent")); // Thread starten ... ... // Der Thread selbst: static unsigned __stdcall TimerThread (PVOID pvoid){ while (true){ WaitForSingleObject(hTimerEvent, INFINITE); for(int i=0; i< 100; i++) printf("*"); // Tu irgendwas } return 0; }Nun die frage, wenn er damit fertig ist , und er wieder zu WaitForSingleObject kommt, muss ich dann das hTimerEvent wieder setzen damit er wieder weiter macht, oder wartet er wieder bist SetEvent?
-
das zweite prm von CreateEvent() ist FALSE, somit ist es ein AutoReset Event.
-> nach WaitForSingleObject ist der Event NotSignaled.
http://msdn2.microsoft.com/en-us/library/ms682396.aspx
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.