comment marche les mutex au niveau de la RAM
Bonjour à tous,
voila si j'ai 2 thread qui ont besoin d'une meme ressource. Le premier thread exécute l'instruction
il va donc lire un attribut de l'objet de la class std::mutex, et si l'attribut n'est pas verrouillé par le second thread, alors le premier thread va mettre un attribut à True en modifiant dans la RAM la valeur d'un attribut pour verrouiller le mutex. Si le second thread tombe sur l'instruction :
le second thread devra attendre (car instruction bloquante) que le premier thread déverrouille le mutex pour pouvoir acceder à la ressource. C'est le comportement normale que l'on souhaite avoir.
Mais est ce possible qu'on arrive dans le cas ou le premier thread voit que le mutex n'est pas verrouillé, le verrouille, mais qu'en parallèle le second thread était en train d'écrire dans la RAM pour mettre l'attribut à verrouiller, et on serait dans le cas ou les 2 threads on accès à la meme ressource mémoire ?
Merci d'avance pour vos réponses