我需要你调试我对这个项目的想法。
我写了一个备份管理器项目,我给它一个文件夹,它将每个文件和文件夹复制到另一个位置等等。
它可以工作(复制工作很好),但在复制过程中大约需要 1 分钟,应用程序 UI 没有响应。我听说过线程,也见过并行编程这个词(只是这个词,没有更多),现在我想要一些解释、比较和示例,以便能够切换我的代码。
我以前用线程做过非常简单的操作,但那是很久以前的事了,我对线程没有足够的信心。这是我的代码:
private void CopyFiles(string path, string dest)
{
System.IO.Directory.CreateDirectory(dest + "\\" + path.Split('\\')[path.Split('\\').Count()-1]);
dest = dest + "\\" + path.Split('\\')[path.Split('\\').Count() - 1];
foreach (string file in System.IO.Directory.GetFiles(path))
{
System.IO.File.Copy(file, dest + "\\" + file.Split('\\')[file.Split('\\').Count() - 1]);
}
foreach (string folder in System.IO.Directory.GetDirectories(path))
{
CopyFiles(folder, dest);
}
}
我在基于特殊间隔的计时器中运行它,如果我使用线程,我应该省略计时器吗?引导我,我很困惑。