我是靠谱客的博主 聪慧云朵,最近开发中收集的这篇文章主要介绍linux的flock命令(文件锁),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

mysql,如果多个请求同时,请求操作一个表,一个存,一个读,就会造成脏读.所以有了事务,有了锁表

linux在多个进程同时操作同一份文件的时候,很容易导致文件混乱,这时候就需要锁,来保证文件的完成性.

flock主要三种操作类型:
     lock_sh,常被用作读共享锁;
     LOCK_EX,只能被一个进行使用,常被用作写锁;
     LOCK_UN,释放锁;
 public function logResult($word='') {
$fp = fopen("log.txt","a");
flock($fp, LOCK_EX) ;//进程会被阻塞,直到锁被释放掉
fwrite($fp,"执行日期:".strftime("%Y%m%d%H%M%S",time())."n".$word."n");
flock($fp, LOCK_UN);
fclose($fp);
}

 

使用共享锁LOCK_SH,如果是读取,不需要等待,但如果是写入,需要等待读取完成。

使用独占锁LOCK_EX,无论写入/读取都需要等待。

LOCK_UN,无论使用共享/读占锁,使用完后需要解锁。

LOCK_NB,当被锁定时,不阻塞,而是提示锁定。

 

转载于:https://www.cnblogs.com/hanshuai0921/p/6739464.html

最后

以上就是聪慧云朵为你收集整理的linux的flock命令(文件锁)的全部内容,希望文章能够帮你解决linux的flock命令(文件锁)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部