代码如下:
public void GetFilesCount(System.IO.DirectoryInfo dirInfo)
{ foreach (System.IO.DirectoryInfo subdir in dirInfo.GetDirectories())
{
pa += subdir.Name + "|"; foreach (System.IO.FileInfo fileinfo in subdir.GetFiles())
{
totalFile1 += 1;
pb += fileinfo.FullName + "|";
} totalFile += 1;
GetFilesCount(subdir);
}
}
我使用如下代码遍历指定目录中的子目录和文件名称。并且把上面代码放入了一个线程,但为当在遍历时,CPU会猛增到80-90????请问上面代码哪里有问题导致CUP猛增,谢谢盼复
public void GetFilesCount(System.IO.DirectoryInfo dirInfo)
{ foreach (System.IO.DirectoryInfo subdir in dirInfo.GetDirectories())
{
pa += subdir.Name + "|"; foreach (System.IO.FileInfo fileinfo in subdir.GetFiles())
{
totalFile1 += 1;
pb += fileinfo.FullName + "|";
} totalFile += 1;
GetFilesCount(subdir);
}
}
我使用如下代码遍历指定目录中的子目录和文件名称。并且把上面代码放入了一个线程,但为当在遍历时,CPU会猛增到80-90????请问上面代码哪里有问题导致CUP猛增,谢谢盼复
System.Thread.Threading.Sleep(100);
//(手写不知道写的对不对)
totalFile += 1;
GetFilesCount(subdir);
public void GetFilesCount(System.IO.DirectoryInfo dirInfo)
{foreach (System.IO.DirectoryInfo subdir in dirInfo.GetDirectories())
{
totalFile += 1; //如果子目录也计算在内的话
GetFilesCount(subdir);
}foreach (System.IO.FileInfo fileinfo in subdir.GetFiles())
{
totalFile1 += 1;
}
}
试试这个行不?