如果兩個不同的 程序試圖同時寫入同一個 文件會發生什麼?如果兩個不同的程序試圖同時寫入同一個文件,會發生什麼?
將其中一個程序遇到 文件鎖定錯誤?
程序應如何設計爲 處理這種情況?
回答
當第二應用(或線程)嘗試打開該文件寫它會拋出IO異常..簡單..
您可以首先將您的文件打開代碼放在try catch塊中。如果它成功,那麼您編寫..如果沒有,則提示用戶或在一段時間後再次嘗試。或者,您可以嘗試使用「DATABASE」,其中多個應用程序可以同時修改它.. – 2011-03-21 06:45:54
使用的FileLock避免IO異常時文件正被多個線程訪問。
你能詳細點嗎?什麼是「FileLock」? – 2011-03-21 06:52:54
請通過以下鏈接http://download.oracle.com/javase/1.4.2/docs/api/java/nio/channels/FileLock.html – developer 2011-03-21 07:52:54
它是.NET,而不是Java。 – 2011-03-21 08:14:07
說你有用戶A和用戶B,你可以做的是,讓他們兩人修改內容,但是會有一個小的時間差異,但是你希望它是「同時」的,所以檢查哪個用戶有首先「提交」更改,保存這些更改並提示智能郵件給下一個用戶說「文件已更新,檢查更改之前......等等等等」。
- 1. 當多個進程嘗試寫入同一個文件時會發生什麼?
- 2. Hadoop - 當多個進程試圖同時寫入同一個文件時會發生什麼?
- 3. 當我讀/寫同一個文件時會發生什麼?
- 4. 如果2臺或更多服務器試圖同時寫入同一文件,NFS會發生什麼情況?
- 5. 如果兩個內核嘗試同時寫入主內存中的相同位置,會發生什麼情況?
- 6. php如果兩個人同時追加會發生什麼?
- 7. 如果兩個人同時提交編輯,會發生什麼
- 8. 2個線程寫入同一個對象時會發生什麼?
- 9. 如果兩個python腳本想要在同一個文件中寫入,會發生什麼?
- 10. 從不同線程同時寫入套接字時會發生什麼?
- 11. 如何從兩個程序同時寫入單個xml文件?
- 12. 如果2個或更多人試圖同時更新同一個MySQL表,會發生什麼情況?
- 13. 多線程寫入同一文件時會發生什麼負面影響?
- 14. 如果兩個進程訪問同一個文件時沒有鎖,會發生什麼?
- 15. 爲什麼這兩個程序會導致不同的結果?
- 16. 如果兩個ObjC類別重寫相同的方法會發生什麼?
- 17. 如果同時通過2個不同進程在同一文件上調用寫入系統調用,會發生什麼情況
- 18. php的疑惑。如果兩個人同時訪問同一個腳本,會發生什麼情況?
- 19. 如果我將相同的文件提交到兩個不同的存儲庫,會發生什麼
- 20. 多個打開同一個文件並同時寫入同一個文件PHP?
- 21. 當你同時觸摸兩個按鈕時會發生什麼
- 22. 防止兩個python程序一次寫入同一文件
- 23. 這兩個實現爲什麼會產生不同的結果?
- 24. 在Actionscript 3中,如果不同的事件同時改變一個變量的值會發生什麼?
- 25. 如果兩個線程同時訪問相同的bool變量會發生什麼情況?
- 26. ofstream不會向兩個不同的文件寫入不同的數據
- 27. 寫兩個線程寫同一個實體的不同字段
- 28. 當兩個線程嘗試寫入同一個tcp套接字時發生同步問題simultaneouslu
- 29. 從同一個文件(PHP)中寫入兩個會話
- 30. 爲同一個XSL文件生成兩個不同的輸出?
這是操作系統特定的。你關心哪一個? – philant 2011-03-21 06:44:27
@philippe:我只關心基於Microsoft Windows的操作系統。 – 2011-03-21 06:47:16