我開發了一個應用程序,使用java和Struts2在服務器上進行部署。它對文件進行了更改,因此我想一次限制對一個用戶的訪問,以避免data.How中的不一致我可以這樣做嗎?請幫助爲多用戶鎖定應用程序
0
A
回答
0
如何編寫一個提供方法來讀取/寫入這些文件的類。而這個類暴露了同步讀/寫功能。
e.g
public class FileManager {
HashMap<String, File> _fileHandleMap;
public synchronized void doWrite(String fileHandle, String bufferToWrite) {
.....
}
public synchronized String doRead(String fileHandle) {
}
}
理念是封裝文件讀取/在一個類中寫操作和同步該類的讀/寫操作的訪問。
0
您可以使用文件系統爲正在編輯的文件創建「鎖定」文件。如果某人在您的應用程序中打開了該文件 - 鎖文件緊挨着它。一旦用戶完成編輯該文件,鎖定文件消失,另一個用戶可以打開該文件。
0
在相同的應用程序中,但對於多線程我們可以synchronize
的訪問。但對同一文件的多個應用程序(例如Java中的同一應用程序的多個實例),我們可以這樣做:
RandomAccessFile raf = new RandomAccessFile("scatterAndGather.txt", "rw");
FileChannel fc = raf.getChannel();
fileLock=fc.lock(0, fc.size(), false);
這將是整個應用程序,由操作系統管理。
相關問題
- 1. 鎖定Web客戶端 - 多線程應用程序
- 2. ASP.Net應用程序鎖定
- 3. Android鎖定應用程序
- 4. 鎖定應用程序
- 5. 鎖定和解鎖多線程應用程序
- 6. 多用戶應用程序
- 7. 多用戶應用程序
- 8. 將單個用戶應用程序轉換爲多用戶應用程序
- 9. 屏幕鎖定應用程序調用
- 10. 使用密碼鎖定應用程序
- 11. 使用鎖定模式鎖定應用程序
- 12. 在鎖定用戶的PC上更新應用程序
- 13. 如何鎖定應用程序中的未授權用戶?
- 14. 從Android應用程序中鎖定用戶
- 15. Android「應用程序鎖定」應用程序如何工作?
- 16. 保持iOS應用程序鎖定時應用程序運行?
- 17. 爲什麼某些應用程序鎖定文件而其他應用程序不鎖定?
- 18. Singleton類中的多線程應用程序,鎖定建議
- 19. 鎖定用戶的線程
- 20. 鎖定方向iMessenger應用程序?
- 21. 樂觀鎖定在web應用程序
- 22. .NET應用程序鎖定文件
- 23. PostgreSQL獨佔鎖定應用程序
- 24. Android應用程序鎖定屏幕
- 25. 鎖定帶密碼的應用程序
- 26. Java控制檯應用程序鎖定
- 27. SQL鎖定在Silverlight應用程序
- 28. 鎖定在Java EE應用程序中
- 29. Android更改imageview鎖定應用程序
- 30. STDIN.getc鎖定我的應用程序
這是一個奇怪的要求,你確定嗎?爲什麼不只是同步文件修改代碼? – Taylor