[MFC] PostMessage, multithread
Bonjour,
Je reviens une nouvelle fois pour vous demander : est ce que le systeme de message avec PostMessage "gère les accès concurents"?
En fait j'ai deux threads qui font un post message sur le même identifiant : et donc sur la même fonction associée à cet identifiant.
Est ce que cette fonction peut-etre appelée simultanement par deux threads? et donc faut-il gerer les accès concurents sur les variables modifiées par cette fonction?
Voici le code de ma fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
long CThreads_testDlg::OnReceiveMessageTest(WPARAM wparam, LPARAM lparam)
{
int indice = (int) wparam;
int id = (int) lparam;
/*CString ids;
ids.Format("id=%d -- cpt=%d",id ,_compteur );
AfxMessageBox(ids);*/
if(_compteur > 0)
{
_compteur--;
SetEvent(_threads[indice]->_events[0]);
}
else
{
SetEvent(_threads[indice]->_events[1]);
}
return 0;
} |
Comment faire pour mettre un verrou autour de ma variable _compteur? (qui est une variable de classe)