Je travaille sur un petit exemple et suis un peu curieux en utilisant la section critique dans mon exemple. Qu'est-ce que je suis, je ai un CStringArray (qui a 10 éléments ajoutés) .Je veux copier ces 10 éléments (chaîne) à un autre CStringArray (je fais cela pour comprendre la section Threading et critique), j'ai Thread1 copiera le premier 5 élément à un autre CStringArray et Thread2 copiera le reste. Deux CStringArray sont utilisés, je sais que seulement 1 thread peut y accéder à la fois. Je voulais savoir comment cela peut être résolu par utilisant la section critique ou toute autre méthode.Comment utiliser CriticalSection - MFC?
void CThreadingEx4Dlg::OnBnClickedOk()
{
// TODO: Add your control notification handler code here
thread1 = AfxBeginThread((AFX_THREADPROC)MyThreadFunction1,this);
thread2 = AfxBeginThread((AFX_THREADPROC)MyThreadFunction2,this);
}
UINT MyThreadFunction1(LPARAM lparam)
{
CThreadingEx4Dlg* pthis = (CThreadingEx4Dlg*)lparam;
pthis->MyFunction(0,5);
return 0;
}
UINT MyThreadFunction2(LPARAM lparam)
{
CThreadingEx4Dlg* pthis = (CThreadingEx4Dlg*)lparam;
pthis->MyFunction(6,10);
return 0;
}
void CThreadingEx4Dlg::MyFunction(int minCount,int maxCount)
{
for(int i=minCount;i<=maxCount;i++)
{
CString temp;
temp = myArray.GetAt(i);
myShiftArray.Add(temp);
}
}
des thats bon .... merci pour votre réponse – mapples