文件锁定




文件锁定是一种在特定时间只允许一个用户或进程拥有对特定计算机文件的访问权限的机制。[1]计算机系统实现该特性以避免竞争读写。以下是竞争写的一个例子:



  1. 进程A从一个包含顾客账户信息(包括其账户结余和电话号码)的文件中读取一条记录。

  2. 进程B从同一个文件中读取同一条记录并有一份自己的拷贝。

  3. 进程A在它的那份记录中修改账户结余并将记录写回文件。

  4. 进程B自己的记录中仍然包含原有的账户结余数据,它在自己的记录中也修改了它并写回文件。

  5. 进程B的写回操作导致进程A的更改丢失。


绝大多数操作系统支持记录锁定英语record locking的概念,也就是任何文件中单个记录可以被锁定,从而增加并发更新进程的数量。数据库维护需要锁定文件,从而它有权访问数据库的整个物理文件。虽然这确实阻止其他进程访问此文件,但减少每个锁的经常性开销比整体锁定文件中很大数量的区域更高效。



文件锁定的不合理用法可能产生差的性能或死锁。文件锁定可能也指用户使用如Windows安全、NTFS访问权限或第三方的文件锁定软件提供文件额外安全性的过程。




  1. ^ Linux数据管理——文件锁定. 2013-08-29 [2016-09-29] (中文). 这是文件的一种安全的更新方式,当一个程序正在对文件进行写操作时,文件就会进入一种暂时状态,在这个状态下,如果另一个程序尝试读这个文件,它就会自动停下来等待这个状态结束 




Comments

Popular posts from this blog

Monte Carlo

Information security

章鱼与海女图