文件锁
来源:互联网 发布:阿里云怎么代理加盟 编辑:程序博客网 时间:2024/06/03 20:10
多用户多任务操作系统中非常重要的一个内容就是文件锁。用户在更新文件时,期望可以使用某种机制,防止两种进程同时更新文件同一区域而造成丢失,或者防止文件内容在未更新完毕时被读取等并发引起的问题,这种机制就是文件锁。
进程在操作文件期间,可以使用文件锁,锁定文件中的敏感部分,防止其他进程越权操作该部分数据。函数fcntl提供了对文件任意区域置锁的能力,既可以锁住全部文件,又可以锁住文件的部分记录,故文件锁又成为"记录锁".
根据文件锁的访问方式,可以区分读锁和写锁两种。读锁又名共享锁,它用来防止进程读取的文件记录被更改。文件记录可以同时设置多个读锁,但当有一个读锁存在时,就不能在该记录出设置写锁。
写锁又名互斥锁,它用来保证文件更改记录时不被干扰,确保文件一致性和完整性,防止写丢失或读"脏"数据。文件记录一旦设置了写锁,就不能再设置任意锁,除非写锁接触。
文件记录在同一时刻,可以设置多个读锁,单仅能设置一个写锁,并且读、写不能不能同时存在。
linux用文件锁实现保证一个程序只能启动一个进程
http://www.cppblog.com/Tim/archive/2011/10/27/159201.html阅读全文
1 0
- 文件操作-文件锁
- Linux文件---文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 文件锁
- 从1到n整数中1出现的次数:O(logn)算法
- 1413: StarFarming [最短路]
- 安装CocoaPods
- 【翻译】What the f*ck JavaScript?(JavaScript你怎么这样啊???)
- 1102. Invert a Binary Tree (25)
- 文件锁
- 数据结构概述
- 火狐flash
- Java关键字final、static使用总结
- 判断链表是否有环,并返回环的起始节点
- 控制台调试android命令
- AtCoder Beginner Contest 070 Transit Tree Path(一道鸡贼的最短路径题)
- 接触qt来第一个坑:Could not create directory "E:\oysl\QT\Error in " Util.asciify("build-untitle
- 线段树(Segment Tree)简介