当前位置: 首页 > news >正文

建站公司可靠吗百度系app

建站公司可靠吗,百度系app,部门网站建设内容方案,做网站编辑如何写好一篇新闻1 为什么用文件锁 文件是一种共享资源,多个进程对同一文件进行操作的时候,必然涉及到竞争状态,因此引入了文件锁实现对共享资源的访问进行保护的机制,通过对文件上锁, 来避免访问共享资源产生竞争状态。 2 文件锁用法 (1)参考文档: man 2 …

1 为什么用文件锁

文件是一种共享资源,多个进程对同一文件进行操作的时候,必然涉及到竞争状态,因此引入了文件锁实现对共享资源的访问进行保护的机制,通过对文件上锁, 来避免访问共享资源产生竞争状态

2 文件锁用法

(1)参考文档:
man 2 fcntl

(2)头文件:
#include <unistd.h>
#include <fcntl.h>

(3)函数定义
int fcntl(int fd, int cmd, … /* arg */ );

(4)参数:

cmd 取值:
F_GETLK 获取锁
F_SETLK 设置锁
F_SETLKW 同步设置锁

(5)文件锁struct flock的定义:

struct flock {short l_type; 		//锁的类型(F_RDLCK(读锁), F_WRLCK(写锁),  F_UNLCK (解锁))off_t l_start; 		//指明文件加锁的开始位置(同l_whence)short l_whence;		//标志文件锁的初始位置(SEEK_SET, SEEK_CUR,  SEEK_END) off_t l_len; 		//加锁的长度(字节), 0表示整个文件 pid_t l_pid; 		//是加锁进程的进程 id。
}

3应用举例


#include<unistd.h>
#include<fcntl.h>
#include<stdlib.h>
#include<stdio.h>
#include<errno.h>
#include<string.h>#define FILE_NAME "flock_demo.txt"int flock_set(int fd, int type) {printf("进程pid=%d 来啦!\n",getpid());//创建文件锁struct flock fflock;memset(&fflock,0,sizeof(struct flock));fcntl(fd,F_GETLK,&fflock);//文件已经获过取锁了if (fflock.l_type != F_UNLCK) {//文件已上锁if (fflock.l_type == F_RDLCK) {//文件的上读锁printf("抱歉,进程%d已经加上读锁!\n",fflock.l_pid);}else if(fflock.l_type == F_WRLCK)//文件上写锁{printf("抱歉,进程%d已经加上写锁!\n", fflock.l_pid);} }//配置文件锁fflock.l_type = type;		//锁的类型fflock.l_whence = SEEK_SET;	//文件头fflock.l_start = 0;			//锁字节为单位的偏移fflock.l_len = 0;			//锁多长内容(0表示整的文件)fflock.l_pid = -1;if (fcntl(fd,F_SETLKW, &fflock)<0){printf("上锁失败!\n");return -1;}switch (fflock.l_type){case F_RDLCK:printf("进程%d加上读锁成功!\n", getpid());break;case F_WRLCK:printf("进程%d加上写锁成功!\n", getpid());break;case F_UNLCK:printf("进程%d已解锁成功!\n", getpid());break;default:break;}printf("进程pid=%d退出\n",getpid());return 0;
}int main(void) {int fd=0;fd = open(FILE_NAME,O_RDWR|O_CREAT,0666);if (fd<0) {fprintf(stderr,"打开文件%s失败,错误原因%s\n", FILE_NAME,strerror(errno));exit(-1);}flock_set(fd, F_WRLCK);	//对打开的文件写锁getchar();flock_set(fd, F_UNLCK);	//对打开的文件解锁getchar();close(fd);return 0;
}

运行效果:
在这里插入图片描述

注意:可以同时对文件进行加读锁不受影响,单对文件加写锁则会互斥

http://www.hrbkazy.com/news/26127.html

相关文章:

  • .net 网站开发权限设计手机百度网盘登录入口
  • 网上购物哪个平台最好货真价实seo企业站收录
  • 镇江网站建设包括哪些快手作品推广网站
  • asp.net手机网站开发教程疫情防控最新通告
  • 刷会员网站怎么做企业邮箱如何申请注册
  • 包头企业微网站开发网络营销的认识与理解
  • 做网站推广被骗百度经验官网首页
  • 线上编程培训机构哪家好潮州seo建站
  • 做微商截图的网站网络促销的方法有哪些
  • 电子商务烟台网站建设郑州网络推广大包
  • 建设网站有什么特点特色今日国际军事新闻
  • 厦门市建设区网站首页大数据免费查询平台
  • 我国哪些网站是做调查问卷的资源网站排名优化seo
  • 手机网站模板网制作网站的软件叫什么
  • 企业型网站建设方案免费的seo优化
  • 品牌网站建设gs口碑营销的模式
  • 访问国外网站好慢怎样优化网络
  • 护肤品主题网站怎么做百度网页游戏排行榜
  • ppt模板免费下载第一ppt网站的seo如何优化
  • 网站建设公司机构seo推广 课程
  • qq官方网站登录站长之家seo查找
  • 网站建设与管理办法个人网站首页设计
  • 丢盖网logo设计免费官网免费网站做seo
  • 企业搭建pc端网站百度关键词价格计算
  • 房产局网站建设方案百度竞价推广开户多少钱
  • 国外网站打开很慢dns关于友情链接说法正确的是
  • 黄江镇做网站灰色行业seo大神
  • 网站做邮箱吗百度首页排名优化公司
  • 建设银行网站解除绑定北京刚刚宣布比疫情更可怕的事情
  • 浩森宇特北京网站建设seo营销推广全程实例