Et encore...
Comme l'insertion dans une std::queue se fait... après le dernier élément inséré, et que le pop se fait sur... le plus ancien élément inséré, tu ne devrais pas avoir de problème majeur du point de vue du multi thread.
Au pire, on sort sur empty() pendant qu'un autre thread insère un nouvel élément à la fin, et, comme la condition de sortie au niveau de la fonction principale n'est pas vérifiée, on recommence juste après, mais après que l'insertion soit survenue![]()
Partager