是否可以同时读写文件?

这是场景:

  • ThreadA将要从某些套接字读取,并将数据写入“ MyFile.txt”
  • ThreadB将读取“ MyFile”,到达末尾时,它将循环播放,直到MyFile中有新数据可用为止(因为我不想重新打开“ MyFile.txt”,并且浪费时间,所以我到达了从我所在的位置..)。

可以做这样的事情吗?

如果没有,还有其他方法可以做这种事情吗?

回答:

您提到的问题是著名的生产者消费者问题

常见的解决方案是使用BlockingQueue

现实世界用法的一个示例是AjaxYahooSearchEngineMonitor

线程A所做的是,它将提交一个字符串以排队,然后立即返回。

线程B所做的是,它将从队列中一个接一个地拿起物品,并对其进行处理。当队列中没有项目时,线程B将在那里等待。参见源代码的第83行。

以上是 是否可以同时读写文件? 的全部内容, 来源链接: utcz.com/qa/418260.html

回到顶部