繁体   English   中英

是否可以同时读写文件?

[英]Is it possible to read and write in file at the same time?

这是场景:

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

可以做这样的事情吗?

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

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

常见的解决方案是使用BlockingQueue

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM