¿Por qué necesitamos Mutex y eventos en Windows? En el sentido, ¿no podrían las ventanas tener solo Mutex? ¿Qué se puede hacer con los eventos que no se pueden hacer con Mutex?Mutex y evento en Windows
Respuesta
Eventos permite que los hilos se bloqueen hasta que se transmita algún evento (de ahí el nombre). Bloquear en un evento significa "Despiértame cuando algo sucedió"; esperas que te duerman. Los eventos son un mecanismo de señalización y brindan soporte para esto que no se encuentra en los mutex, como ser capaz de borrar la señal automáticamente tan pronto como alguien que la atendió fue despertado. Además, la API permite bloquear hasta uno de o todos los se señalan varios eventos.
El mutex (exclusión mutua), por otro lado, es un mecanismo de coordinación con ámbito para recursos compartidos. Piensa en la transacción. No esperas esperar, pero quieres acceder a un recurso compartido, y solo en el caso de que otros ya estén accediendo, estás bloqueando.
Si intentó simular un evento utilizando un mutex, se enfrentaría al problema de que tan pronto como adquirió el bloqueo (cuando debería significar "evento señalado"), está manteniendo a todos los demás hasta que lo libere bloquear. Esa no es la semántica de señalar un evento; puede permanecer publicado, y las "puertas" estarán abiertas para cada prueba de hilo para el evento, sin adquirir bloqueos.
Mutex dedicado para la sincronización entre procesos. Este es un objeto en modo núcleo. Eventos para la sincronización multiproceso dentro de un proceso. Este es un objeto en modo usuario.
objeto Mutex es muy general y pesado, por otro lado el objeto Evento es mucho más ligero. En la mayoría de las situaciones, debe utilizar la sincronización de modo de usuario, ya que proporciona menos ciclos de CPU.
Opps (perdida ... – yozhik
- 1. objeto mutex vs eventos en Windows
- 2. Mismo nombre mutex para un servicio de Windows y exe en Windows 7
- 3. ¿Mutex o no a Mutex?
- 4. C++ mutex y const correctness
- 5. boost interprocess mutex vs boost hilo mutex
- 6. ¿Cómo alterar el comportamiento de bloqueo recursivo de Windows Mutex?
- 7. ¿Debo eliminar un Mutex?
- 8. cross-user C# mutex
- 9. ¿Hay alguna herramienta para supervisar objetos de sincronización (mutex, eventos, semáforos) en Windows?
- 10. Id. De evento de Windows
- 11. Bloqueo Mutex: ¿qué significa "bloqueo"?
- 12. ¿Qué hace realmente mutex y semáforo?
- 13. Diferencia entre bloqueos, mutex y secciones críticas
- 14. ¿Cuál es la diferencia entre mutex y sección crítica?
- 15. Bloquear mutex en un hilo y desbloquearlo en el otro
- 16. Leer escribir mutex en C++
- 17. Bloqueos mutex jerárquicos en Java
- 18. recursiva de bloqueo (mutex) vs Bloqueo no recursiva (mutex)
- 19. No se bloquea mutex para pthread_cond_timedwait y pthread_cond_signal (en Linux)
- 20. Aserción en mutex al usar múltiples hilos y mutexes
- 21. ¿Hacer estático el Reentrant Lock y convertirlo en un mutex?
- 22. pthread-windows windows manual-reset event
- 23. objeto mutex llamado
- 24. Android NDK Mutex
- 25. Exclusión mutua PHP (mutex)
- 26. abandonado mutex excepción
- 27. Cuándo usar mutex recursivo?
- 28. Boost, concepto mutex
- 29. Variable de condición de Windows vs. Evento
- 30. Manejando el evento CTRL + C en Node.js en Windows
"es un mecanismo de coordinación de ámbito para recursos compartidos. Think transaction" ... escribiste [this] (http://www.differencebetween.net/miscellaneous/difference-between-mutex-and-event/) como ¿bien? –