我有许多目录,其中包含大量文件(〜10,000)。我想在我的应用程序中创建这些文件的列表,并且已经线程化了 io 访问,以便应用程序在加载时不会冻结。但是,如果我在加载所有文件之前退出应用程序,则线程不会响应 .Join() 直到对 dirInfo.GetFiles(...) 的调用完成:
// ... 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。