cómo usar la barrera de refuerzo

Qué es el impulso: barrera, cómo utilizar este tipo de método de impulso. ¿Podría darme un ejemplo claro ya que encontré los ejemplos de lo siguiente:

    bool wait()
    {
        boost::mutex::scoped_lock lock(m_mutex);
        unsigned int gen = m_generation;

        if (--m_count == 0)
        {
            m_generation++;
            m_count = m_threshold;
            m_cond.notify_all();
            return true;
        }

        while (gen == m_generation)
            m_cond.wait(lock);
        return false;
    }

En los códigos anteriores: m_cond.notify_all (); ¿se debe ingresar en otros subprocesos en espera? ¿Podría decirme claramente sobre la funcionalidad de la barrera? Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta