2010-12-20 53 views
0

線程在文件結尾等待文件輸入的正常模式,並且 需要等待。任何特殊的編碼方式,都很整潔優雅。線程等待文件輸入模式

感謝。 鮑勃。

+0

請提供一些關於您正在嘗試做什麼以及如何做的更多信息。 – Jon 2010-12-20 13:44:45

+0

本質上我正在尋找一種方法來阻止(可能與超時),直到他們是可用的文件中讀取。 – 2010-12-20 21:48:18

回答

1

不是一個真正的模式,但在FileSystemWatcherhttp://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx)可能會派上用場。

+0

我在過去和錯誤的地方/錯誤的時間使用過。我有一個線程閱讀器,閱讀文件。它開放共享閱讀和寫作。 – 2010-12-20 14:10:51

+0

它似乎FileSystemWatcher是一個相當不錯的內核文件更改事件偵聽器,但輪詢時間有點不確定。值得與FileInfo結合使用,以便對文件大小更改進行雙重檢查。 – 2010-12-30 15:49:37

1

我會對看到其他答案感興趣。我還沒有找到一個優雅的解決方案。這是我過去所做的。

  1. 請讀者嘗試單獨打開文件。如果文件在別處打開,這將失敗。
  2. 重試循環....睡眠X毫秒...重試Y次。通常,我將X & Y取出到配置文件中。

希望這會有所幫助。

鮑勃

+0

這就是我使用的方法。它提供的另一個優點是它迫使你等待文件寫入器完成;如果它是一個通過慢速鏈接傳送的大文件,這很重要。但由於OP要共享讀取/寫入,所以您需要從最後一個有效位置開始調查bytecount> 0。它很優雅。 – 2010-12-21 00:29:23