在Web应用程序中,是否有一种被广泛接受的处理锁定文件的方法?
例如,用户具有对文件的写入权限,因此最好的方法是让所有其他用户访问该文件但仅具有只读权限。
此外,如果该用户关闭文件并且所有句柄/资源都被丢弃,我该如何决定谁可以拥有对该文件的完全写入权限?
假设1个用户具有完全写入权限,10个用户则具有只读访问权限。
还假设Web应用程序上有文件链接。
由于
答案 0 :(得分:1)
我认为常见的方法是使用ReaderWriterLock保护资源(在您的情况下为文件)(3.5中的ReaderWriterLockSlim具有更好的性能)。要更改状态(即写入/打开 - 关闭/删除),您必须获得一次只能授予一个线程的Writer锁定,并且读取操作需要读取器锁定,可以在多个读取器之间共享。