hello all,
je suis en train d'expérimenter pour la première fois les threads en C sous Windows et je voudrais confirmation ou remarques sur ce qui suit:
J'ai 1 variable globale utilisée entre 2 threads pour que, en gros, le premier puisse envoyer des commandes à l'autre.
Résumé: un thread écrit dans cette variable et l'autre la lit.
- le 1er thread fait appel à CreateMutex à la ligne juste au dessus de celle qui modifie la variable et un ReleaseMutex à celle juste au dessous
- le 2e thread fait appel à un WaitForSingleObject juste avant de lire la variable.
Les questions que je me posent sont:
- est ce que dans le 2eme thread je dois faire un CreateMutex avant de lire cette variable et un ReleaseMutex juste après?
- est-ce indispensable d'utiliser les mutex et WaitForSingleObject si la variable n'est modifiée que par un seul thread (sachant que chaque thread est un boucle qui revient régulièrement au même endroit et les commandes peuvent attendre quelques boucles sans problême)?
Merci d'avance pour vos remarques et partage d'expérience.