C语言文件与目录(五)文件锁

1)文件锁定

所谓的文件锁定,指的是以独占的方式打开文件。一个程序打开文件以后,其它的程序不能读取或写入文件。文件锁定有利于文件内容的一致性。本节将讲解文件的锁定权限问题。

文件锁定的理解:当多个程序程序同一个文件时,可能导致文件的内容不一致情况。例如一个文件中的数据是一个账户金额。用户打开这个文件读取数据,进行处理以后将写结果写入到文件。如果文件没有进行锁定时,可以发生下面这种错误。
(1)假设置文件中的数据为10000。用户A打开文件读取这个数据,读取了这个数据。但是还没有及时的写入。
(2)这时,用户B读取这个数据,将结果加10000。然后将结果20000写入到这个文件。
(3)用户A的处理时间较长,比用户B早读入数据,但后写入数据。A将数据加1000,得到11000,然后将数据写入到文件。
这时就发生了一个错误,用户B的数据丢失。这时需要在打开文件时进行文件锁定,正确的做法如下所示。
(1)假设置文件中的数据为10000。用户A打开文件读取这个数据,读取了这个数据。但是还不能及时的写入,于是将文件加一把锁,不允许别的用户访问。
(2)用户B访问这个文件时,文件已经加锁,无法访问。于是等待用户A完成数据访问。
(3)用户A完成数据处理以后,将信息写入到文件,这时解除对文件的锁定。
(4)这时用户B可以对文件进行访问。访问的同时,对文件添加一个锁定。在解除锁定以前,其他的用户不能访问这个文件。


文件锁定函数flock:在访问一

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值