程序的一般用途
要从命令行读取 bash 模式和指定位置,并在该位置找到与该模式匹配的所有文件,但我必须使程序多线程。
程序的一般结构
- 解析参数并启动其他类的驱动程序/主类。
- ProcessDirectories 类,它将从指定根目录中找到的所有目录地址添加到字符串数组中以供以后处理
- DirectoryData 类,其中包含在上述类中找到的地址
- ProcessMatches 类,它检查找到的每个目录,并将其中与模式匹配的任何文件添加到字符串数组中,以便稍后打印结果
- 主/驱动程序再次接管并打印结果:)
问题
即使 ProcessDirectories 类仍在工作,我也需要处理匹配项(为了提高效率,所以我不必在工作前等待列表填充)。为此,我尝试:a) 如果 DirectoryData 为空,则使 ProcessMatches 线程 wait() b) 如果添加了新条目,则使 ProcessDirectories notifyAll()。
问题:)
我看的每个教程都关注生产者和消费者在同一个对象中,或者只处理一个数据结构。当我使用多个数据结构和多个类进行生产和消费时,我该怎么做?