Pregunta

Tenemos varias aplicaciones MFC, que usan CMutex (falso, "bla"), donde "bla" permite que el mutex funcione a través de los límites del proceso.

Una de estas aplicaciones fue reescrita sin MFC (usando Qt en su lugar).¿Cómo puedo simular CMutex usando llamadas Win32?(QMutex de Qt no es entre procesos). Prefiero no modificar las aplicaciones MFC.

¿Fue útil?

Solución

Para mutex entre procesos, desea estas llamadas:

CrearMutex

Esperar para un solo objeto

LanzamientoMutex

CerrarManillar

Estas son las llamadas a la API de Win32 subyacentes de las que CMutex es un contenedor.

Para mutex solo en proceso, también puede usar estas llamadas, que son más rápidas:

Inicializar sección crítica

Ingresar sección crítica

Dejar sección crítica

Eliminar sección crítica

Otros consejos

Las siguientes funciones probablemente serán las que desee, todas están documentadas en MSDN.

CreateMutex(...)
WaitForSingleObject(...)
ReleaseMutex(...)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top