文件的部分锁定是一项复杂的业务,许多操作系统都避免这样做。但是,如果您坚持要这样做,一种方法是设计自己的锁定机制对象,该对象记录文件的哪些部分被锁定。本质上,在读取或写入对象之前,必须请求锁定文件的特定字节范围。如果锁在字节范围内完全重叠,则视为冲突。读取和写入锁的处理方式有所不同:读取可以与任意数量的读取锁安全地重叠,但是写入锁必须与其他锁(读取或写入)不重叠。关于是否无法获得锁定是等待还是中止,以及在写入等待期间是否阻止读取有很多问题,但是只有您才能回答有关应用程序的问题。
考虑到这样做的复杂性,最好锁定整个文件。检查您是否获得了足够的性能-并且不要忘记,只要没有写入,就可以一次允许多次读取。



