我想先搜索目录,然后搜索其中的文件,再搜索关键字。
我知道我需要两个类,生产者类和消费者类,但我不知道如何使用 C# 生产者/消费者队列进行搜索?
public class Program
{
private static void Main()
{
Queue<File> searchFile = new Queue<File>();
Queue<Directory> searchDirectory = new Queue<Directory>();
new Thread(searchDirectory).Start();
for (int i = 0; i < 3; i++)
new Thread(searchFile).Start();
}
}
最佳答案
初始问题:
- 您正在声明 2 个变量 不同类型使用相同 具有相同作用域的变量名。
- 您不想启动线程 搜索目录和另一个 一个在文件上。
第 2 项的问题是您正在处理多线程的最大瓶颈之一 - 即磁盘 IO。通过实现超过 1 个工作线程来执行磁盘 IO(在标准 HDD 设备上)将一无所获。
详细说明您要做什么(请举例说明)。可能有更好的过程。
关于c# - 如何使用生产者/消费者队列递归搜索文件夹和文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6296443/