fs->RewindDir(...);
for (;;)
{
// Find the next update file in the XML directory.
err = fs->ReadDir(...);
if (err != error)
{
if (err != EndOfDir)
{
ret = err;
break;
}
if (strncmp(xmlfile, ...)) != 0)
continue;
Index++; // Process the update file.想每次取出一个xml文件就启动一个线程去解析。
err = ProcessUpdateFile(xmlfile, ...);
if (err != OK)
ret = err; (void) fs->RemoveEntry(...);
fs->RewindDir(...);
}
fs->CloseEntry(...);
for (;;)
{
// Find the next update file in the XML directory.
err = fs->ReadDir(...);
if (err != error)
{
if (err != EndOfDir)
{
ret = err;
break;
}
if (strncmp(xmlfile, ...)) != 0)
continue;
Index++; // Process the update file.想每次取出一个xml文件就启动一个线程去解析。
err = ProcessUpdateFile(xmlfile, ...);
if (err != OK)
ret = err; (void) fs->RemoveEntry(...);
fs->RewindDir(...);
}
fs->CloseEntry(...);
让他们并行执行,而且他们也没有互斥和同步的关系,处理应该容易些。
否--时间一样,可能还会长一点
是--恭喜你,效率提高了