У меня есть две функции, раньше у меня это работало, я сделал некоторые изменения в кодах, но я не знаю, что случилось.Когда я выполнял эти функции в виде многопоточности, загрузка процессора составляла 10-30%, и это было очень медленно.Он просто читает файл за строкой, а затем анализирует строку CSV, используя маркер повышения.
boost::thread OffLineUL(&AvaTTi::AvaCollectTTiAdvance::UeAndCellParamParseUL,c,tracefilenameUL.c_str(),NumOfLines,GHOSTFILTER,"","/",OffLineMode,OPENEXCELAUTO);
boost::thread OffLineDL(&AvaTTi::AvaCollectTTiAdvance::UeAndCellParamParseDL,c,tracefilenameDL.c_str(), NumOfLines,"","/",OffLineMode,OPENEXCELAUTO);
OffLineDL.join();
OffLineUL.join();
int AvaCollectTTiAdvance::UeAndCellParamParseDL(const char *inname, int NumOfRecords, const char *UserDir, const char* CurrentDir, int OffLineMode, int OPENEXCELAUTO)
{
typedef boost::tokenizer <boost::escaped_list_separator<char> > my_tokenizer;
vector <string> mystr;
std::ifstream infile(TTiAsciiTraceOutputUserDir.str(),std::ios::in);
while (getline(infile, line) && lineCount <= NumOfRecords)
for (my_tokenizer::iterator it(tok.begin()), end(tok.end()); it != end; ++it)
{
mystr.push_back(*it);
}
....................
....................
Может кто-нибудь помочь, пожалуйста?У меня заканчиваются идеи.Спасибо.