簡體   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