文件锁定
专业IT术语 / 维基百科,自由的 encyclopedia
文件锁定是一种在特定时间只允许一个用户或进程拥有对特定计算机文件的访问权限的机制。[1]计算机系统实现该特性以避免竞争读写。以下是竞争写的一个例子:
- 进程A从一个包含顾客账户信息(包括其账户结余和电话号码)的文件中读取一条记录。
- 进程B从同一个文件中读取同一条记录并有一份自己的拷贝。
- 进程A在它的那份记录中修改账户结余并将记录写回文件。
- 进程B自己的记录中仍然包含原有的账户结余数据,它在自己的记录中也修改了它并写回文件。
- 进程B的写回操作导致进程A的更改丢失。
绝大多数操作系统支持记录锁定(英语:record locking)的概念,也就是任何文件中单个记录可以被锁定,从而增加并发更新进程的数量。数据库维护需要锁定文件,从而它有权访问数据库的整个物理文件。虽然这确实阻止其他进程访问此文件,但减少每个锁的经常性开销比整体锁定文件中很大数量的区域更高效。
文件锁定的不合理用法可能产生差的性能或死锁。文件锁定可能也指用户使用如Windows安全、NTFS访问权限或第三方的文件锁定软件提供文件额外安全性的过程。