【问题标题】:reading multiple files from multiple threads [closed]从多个线程读取多个文件[关闭]
【发布时间】:2013-08-20 23:19:27
【问题描述】:

我想以严格的顺序一个接一个地读取文件。从一个文件中读取一部分后,关联的线程将休眠,另一个将启动,这将持续到所有文件中的所有行打印完成。最好的方法是什么。

【问题讨论】:

  • 从你的意思来看,最好的解决办法是不使用线程
  • 假设我想使用线程。只是为了学习而已。那么如何做到这一点。就像在读完一行后停止一个线程,然后开始另一个读一行,依此类推。希望这有点道理。
  • 如果你想使用线程,解决一个需要它的问题,否则你学错了:(

标签: java multithreading threadpool


【解决方案1】:

让线程休眠是一种非常糟糕的做法。根据您的解释,您在这里不需要多个线程。您可以阅读第一个文件,直到您看到特定的模式。读取第二个文件的一部分等。为什么在这里需要线程?

如果您想并行执行至少 2 个任务,线程很有用。顺序工作可以而且应该使用一个线程来实现。

【讨论】:

  • 假设我在文件的每一行都中断了。因此,我想使用与每个文件关联的相同线程,将每个文件的第二行一个接一个地写入第二行。让文件为 F1,F2,F3,F4,F5。线程将是 T1 用于读取 F1,T2 用于读取 F2,T3 用于读取 F3,T4 用于读取 F4,T5 用于读取 F5。现在输出看起来像 F1 第一行 F2 第一行 F3 第一行 F4 第一行 F5 第一行 F1 第二行 F2 第二行 F3 第二行 F4 第二行 F5 第二行 ..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多