多数のファイル(〜10,000)を含むディレクトリがいくつかあります。アプリでこれらのファイルのリストを作成したいのですが、ロード中にアプリがフリーズしないように、すでにioアクセスをスレッド化しています。ただし、すべてのファイルが読み込まれる前にアプリを終了すると、dirInfo.GetFiles(...)の呼び出しが完了するまで、スレッドは.Join()に応答しません。
// ... mythread
DirectoryInfo dirInfo = new DirectoryInfo(path);
foreach(FileINfo file in dirInfo.GetFiles(extension))
{
// with large directories, the GetFiles call above
// can stall for a long time
...
foreachからファイルをキャッシュすると、問題が発生します。ディレクトリ内のファイルを見つけるためのスレッド化されたコールバックのような方法が必要ですが、その方法がわかりません。どんな助けでもいただければ幸いです。
どうもありがとう、tenpn。