如何将文件夹中的所有.txt读入线程池

时间:2012-05-29 17:31:58

标签: vb.net threadpool

我将实现一个线程池来运行我的应用程序。我的所有内容都保存在桌面上的文件夹下。

每个文件都是.txt格式。如何从给定文件夹中读取每个.txt,然后将.txt文件放入线程池/线程队列?

1 个答案:

答案 0 :(得分:0)

这些是开始寻找的好地方:ThreadPool.QueueUserWorkItemDirectory.GetFiles

抱歉,我的vb.net生锈了,但这是C#。

foreach (string file in Directory.GetFiles(folder, "*.txt"))
    ThreadPool.QueueUserWorkItem(ProcessFile, file);


void ProcessFile(Object fileNameObject)
{
    string fileName = (string)fileNameObject;
    string contents = File.ReadAllText(fileName);
    // ... process contents here.
}

你的问题陈述想要阅读,然后推入线程池,但我会反过来,所以你不会耗尽内存。将线程池中的文件路径排入队列,然后让工作线程线程读取该文件。