Red de conocimiento informático - Problemas con los teléfonos móviles - Funciones críticas relacionadas en vc

Funciones críticas relacionadas en vc

Esto es de lo que estás hablando

Sección Crítica (Sección Crítica)

Una forma sencilla de garantizar que solo un hilo pueda acceder a los datos en un momento determinado . Sólo un hilo puede acceder a recursos compartidos en cualquier momento. Si varios subprocesos intentan acceder a la sección crítica al mismo tiempo, después de que un subproceso ingrese, todos los demás subprocesos que intenten acceder a la sección crítica se suspenderán hasta que el subproceso que ingresa a la sección crítica salga. Una vez liberada la sección crítica, otros subprocesos pueden continuar adelantándose a ella, logrando así el propósito de operar recursos compartidos de forma atómica.

La sección crítica contiene dos primitivas de operación:

EnterCriticalSection() Entrar en la sección crítica

LeaveCriticalSection() Salir de la sección crítica

EnterCriticalSection () Después de ejecutar la declaración, el código ingresará a la sección crítica. Pase lo que pase, se debe garantizar que se pueda ejecutar el LeaveCriticalSection () correspondiente. De lo contrario, los recursos compartidos protegidos por la sección crítica nunca serán liberados. Aunque la sincronización de la sección crítica es muy rápida, solo se puede usar para sincronizar subprocesos dentro de este proceso, pero no para sincronizar subprocesos en múltiples procesos.

MFC proporciona muchas clases completamente funcionales. Utilicé MFC para implementar la sección crítica. MFC proporciona una clase CCriticalSection para secciones críticas. Es muy sencillo utilizar esta clase para la sincronización de subprocesos. Simplemente use las funciones miembro de la clase CCriticalSection Lock() y UnLock() en la función de subproceso para demarcar el fragmento de código protegido. Los recursos utilizados por el código después de Lock() se consideran automáticamente recursos en la sección crítica y están protegidos. Solo después de Desbloquear otros subprocesos pueden acceder a estos recursos.