El uso de objetos de eventos Win32
-
09-10-2019 - |
Pregunta
Noob pregunta:
Este enlace muestra un ejemplo de CreateEvent y CreateThread
http://msdn.microsoft.com /en-us/library/ms686915(v=vs.85).aspx
Mi pregunta es si el ThreadProc es verdaderamente hilo de seguridad?
Específicamente, la variable dwWaitResult. Dado que todos los hilos están esperando en el mismo evento, resulta que este código funciona, pero había sido creado diferentes eventos, por ejemplo, esto no funcionaría correctamente?
Solución
La variable dwWaitResult
es una variable local en esa función. Así, cada hilo individual tiene su propia copia, lo que asegura que la variable es seguro hilo. Cada hilo tiene su propia pila, por lo tanto todas las variables locales son específicos para el hilo individual.
Otros consejos
El evento es creado por nombre, por lo que si el evento ya se crea se reutiliza en cualquier otro hilo "crear" un evento con el mismo nombre. Como resultado, el código de ejemplo es seguro hilo.