stdmutex

std:: bloqueo único o std:: ¿guardia de bloqueo?

Tengo dos casos de uso. A. Quiero sincronizar el acceso por dos hilos a una cola. B. Quiero sincronizar el acceso de dos ... de código usando std::unique_lock<>. ¿Cuál es la diferencia entre los dos y cuál debe ¿En qué caso de uso utilizo?