в моем приложении есть небольшая часть функции, в которой оно будет считывать файлы, чтобы получить некоторую информацию, число файлов будет равно 50. Поэтому я подумал о реализации потоков. Скажем, если пользователь дает 50 файлов, Я хотел отделить его от 5 * 10, нужно создать 5 потоков, чтобы каждый поток мог обрабатывать 10 файлов, что может ускорить процесс. А также из приведенного ниже кода вы можете видеть, что некоторые переменные являются общими. Я читал некоторые статьи о потоке, и я знаю, что только один поток должен обращаться к переменной / контролю у меня (для этого можно использовать CCriticalStiuation). Для меня, как для новичка, мне трудно реализовать то, что я узнал о потоке. Кто-то, пожалуйста, дайте мне некоторую идею с кодом, показанным ниже .. спасибо заранее
file read function://
void CMyClass::GetWorkFilesInfo(CStringArray& dataFilesArray,CString* dataFilesB,
int* check,DWORD noOfFiles,LPWSTR path)
{
CString cFilePath;
int cIndex =0;
int exceptionInd = 0;
wchar_t** filesForWork = new wchar_t*[noOfFiles];
int tempCheck;
int localIndex =0;
for(int index = 0;index < noOfFiles; index++)
{
tempCheck = *(check + index);
if(tempCheck == NOCHECKBOX)
{
*(filesForWork+cIndex) = new TCHAR[MAX_PATH];
wcscpy(*(filesForWork+cIndex),*(dataFilesB +index));
cIndex++;
}
else//CHECKED or UNCHECKED
{
dataFilesArray.Add(*(dataFilesB+index));
*(check + localIndex) = *(check + index);
localIndex++;
}
}
WorkFiles(&cFilePath,dataFilesArray,filesForWork,
path,
cIndex);
dataFilesArray.Add(cFilePath);
*(check + localIndex) = CHECKED;
}