Bizarement, vous metez le doigt là où ça chie, étonnant hein
En clair, J'ai une classe C, qui a un membre M.
C possède aussi un membre T, un thread.
T doit travailler sur M.
MAIS !!!
Donner un pointeur de M à T (même pour des accès read-only), c'est la ruine de l'encapsulation.
Donc on peut vouloir passer par des méthodes publiques de C. Ca fait exposer à C des méthodes qu'on a pas forcément envie de voir publiques.
Et quid d'un Mutex X ? A part en faire une variable globale, que les deux flux d'exécution vont s'approprier comme il se doit, je ne vois pas trop comment faire.
Je n'utilise jamais de variables globales, du coup j'ai l'impression que c'est pas du tout la bonne approche.
Les exemples que j'ai trouvé sont très théoriques, évidemment que faire clignoter un pixel ça me poserait pas de problème. Mais quand il s'agit de partager des données de façon safe, c'est plus pareil ^^