以一定速度在Java中读取文件

以一定速度在Java中读取文件,第1张

以一定速度在Java中读取文件

粗略的解决方案是一次读取一个块,然后休眠,例如10k,然后休眠一秒钟。但是我要问的第一个问题是:为什么?有两个可能的答案:

  1. 您不希望创建工作比完成任务快。要么
  2. 您不想在系统上造成太大的负担。

我的建议是不要在读取级别上对其进行控制。这有点混乱和不准确。而是在工作结束时对其进行控制。Java有很多出色的并发工具可以解决这一问题。有几种替代方法可以做到这一点。

我倾向于喜欢使用生产者消费者模式来解决此类问题。它为您提供了具有报告线程等功能来监视进度的绝佳选择,并且它可能是一个非常干净的解决方案。

诸如ArrayBlockingQueue之类的东西可以用于(1)和(2)所需的限制类型。由于容量有限,读取器最终将在队列已满时阻塞,因此不会很快填满。可以控制工人(消费者)仅工作得如此之快,从而也限制了覆盖率(2)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5430231.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存