Función DeleteSynchronizationBarrier (synchapi.h)
Elimina una barrera de sincronización.
Sintaxis
BOOL DeleteSynchronizationBarrier(
[in, out] LPSYNCHRONIZATION_BARRIER lpBarrier
);
Parámetros
[in, out] lpBarrier
Puntero a la barrera de sincronización que se va a eliminar.
Valor devuelto
La función DeleteSynchronizationBarrier siempre devuelve TRUE
.
Comentarios
DeleteSynchronizationBarrier libera una barrera de sincronización cuando ya no es necesaria. Es seguro llamar a DeleteSynchronizationBarrier inmediatamente después de llamar a EnterSynchronizationBarrier porque esa función garantiza que todos los subprocesos de la barrera hayan terminado de usarlo antes de permitir que se libere la barrera.
Si nunca se eliminará una barrera de sincronización, los subprocesos pueden especificar la marca SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE cuando entran en la barrera. Esta marca hace que la función omita el trabajo adicional necesario para la seguridad de eliminación, lo que puede mejorar el rendimiento. Todos los subprocesos que usen la barrera deben especificar esta marca; Si no lo hace algún subproceso, se omite la marca . Tenga cuidado al usar SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE, ya que eliminar una barrera mientras esta marca está en vigor puede dar lugar a un acceso de identificador no válido y hacer que uno o varios subprocesos se bloqueen permanentemente.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | synchapi.h |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |