Salut a tous!
Voila, j'ai une appli multithread, avec un principal, et 3 autres dit "secondaire".
Le premier est principale dans le sens ou c'est lui qui demande aux autres de s'arrêter.
Pour se faire, j'ai utilisé une variable globale, "BOOL g_ThreadEnds", qui est mis à TRUE lorsque le thread principal dit que c'est la fin.
Dans les autres threads, ils tournent sur un "while(!g_ThreadEnds)".
Du coup, et bien ils se terminent correctement.
Ma question est la suivante: Une personne m'a dit qu'en cas de multiprocesseur, une telle variable n'était pas bien, car il pouvait y avoir des problème. Il m'a alors parlé de la notion de variable "Volatile", ainsi que de la fonction "InterlockedExchange". Qu'en pensez-vous? Et dans ce cas, comment s'utilise ses notions?
Merci pour vos réponses
PS: J'ai également un problème lorsque mon appli de termine, j'ai a priori des tonnes de "Access Violation", mais je ne vois pas pourquoi. Auriez-vous des pistes?
Merci encore pour votre aide !!