Pourquoi la fonction empty()
dans std::queue
n'est pas adaptée aux threads? (Voir here.) Les fonctions const
ne doivent-elles pas toujours être adaptées aux threads, puisqu'elles sont en lecture seule?Pourquoi std :: queue :: empty() n'est pas thread-safe? Les fonctions const ne devraient-elles pas être thread-safe?
Peut-être qu'il peut y avoir une variable mutable
dans la classe qui peut être écrite par les différents threads?
Les fonctions en lecture seule ne sont pas intrinsèquement sûres. Ils sont sûrs * s'il n'y a pas d'écriture par d'autres threads *. – jalf