このプロジェクトについての私の考えをデバッグする必要があります。
私は、フォルダを指定して、そのすべてのファイルとフォルダを別の場所にコピーするバックアップマネージャプロジェクトを作成しました。
動作します(コピージョブは正常に実行されます)が、約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);
}
}
これを特別な間隔に基づいたタイマーで実行します。スレッドを使用する場合、タイマーを省略する必要がありますか?私を導いてください、私は混乱しています。