回答
不是一個真正的模式,但在FileSystemWatcher
(http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx)可能會派上用場。
我在過去和錯誤的地方/錯誤的時間使用過。我有一個線程閱讀器,閱讀文件。它開放共享閱讀和寫作。 – 2010-12-20 14:10:51
它似乎FileSystemWatcher是一個相當不錯的內核文件更改事件偵聽器,但輪詢時間有點不確定。值得與FileInfo結合使用,以便對文件大小更改進行雙重檢查。 – 2010-12-30 15:49:37
我會對看到其他答案感興趣。我還沒有找到一個優雅的解決方案。這是我過去所做的。
- 請讀者嘗試單獨打開文件。如果文件在別處打開,這將失敗。
- 重試循環....睡眠X毫秒...重試Y次。通常,我將X & Y取出到配置文件中。
希望這會有所幫助。
鮑勃
這就是我使用的方法。它提供的另一個優點是它迫使你等待文件寫入器完成;如果它是一個通過慢速鏈接傳送的大文件,這很重要。但由於OP要共享讀取/寫入,所以您需要從最後一個有效位置開始調查bytecount> 0。它很優雅。 – 2010-12-21 00:29:23
- 1. 線程進程等待輸入
- 2. 多線程程序:等待輸入
- 3. Python線程卡在另一個線程等待用戶輸入
- 4. 等待輸入
- 5. 等待線程
- 6. python腳本不等待輸入文件
- 7. python等待輸入並上傳文件
- 8. Boost線程等待條件
- 9. tomcat:等待條件線程
- 10. 多線程 - 等待線程
- 11. Clojure(讀線)不等待輸入
- 12. 閱讀線導致等待輸入R
- 13. keylistener等待輸入
- 14. c + +等待輸入
- 15. java.util.Scanner:等待輸入
- 16. 如何檢測進程/線程何時等待用戶輸入
- 17. 等待的線程
- 18. 讓線程等待
- 19. 等待寫入文件
- 20. asynctask等待模式
- 21. 等待線程加入時間限制
- 22. 中斷一個線程等待用戶輸入
- 23. C#使用AutoResetEvent等待來自另一線程的輸入
- 24. Qt線程等待來自GUI的輸入
- 25. 使java多線程等待,直到輸入
- 26. 等待用戶輸入在單獨的線程
- 27. 暫停運行的線程,並等待用戶輸入
- 28. 繼續等待輸入的程序C++
- 29. 如何使程序不等待輸入
- 30. 如何使用等待或線程等待事件發生
請提供一些關於您正在嘗試做什麼以及如何做的更多信息。 – Jon 2010-12-20 13:44:45
本質上我正在尋找一種方法來阻止(可能與超時),直到他們是可用的文件中讀取。 – 2010-12-20 21:48:18