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

大连推广网站搭建哪家好wordpress 目录模板

大连推广网站搭建哪家好,wordpress 目录模板,上海做网站运维的公司,全国大学生平面设计大赛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.yayakq.cn/news/694728/

相关文章:

  • 移动建站模板公众号 上传wordpress
  • 全国知名网站建个网站平台需要多少钱
  • 怎么在试客网站做佣金单网站识别手机电脑代码
  • 查网站流量查询工具山东鲁桥建设有限公司网站
  • 长沙 外贸网站建设react做的电商网站能上线吗
  • 网站流量推广竞价外包推广专业公司
  • 推广型网站建设公司建设网站是否应当摊销
  • 品牌网站建设服务机构wix建设网站教程
  • 乐清门户网站公司网站开发费用兴田德润在哪儿
  • 蓝田县住房与城乡建设局网站上交所互动平台
  • 荥阳市城乡规划和建设局网站网站表单提交
  • 网站建设佰首选金手指二八中国互联网协会12321举报中心
  • 邯郸有做网站的吗私募基金网站建设
  • 网站建设能干什么做网站的项目流程
  • 电子产品网站建设 实训报告h5模板怎么制作
  • 林州网站建设报价wordpress 视频站模板
  • 成都手机网站建设报价wordpress fpm
  • 大良营销网站建设特色百度账号申诉
  • 分类信息网站建设系统贸易公司做网站怎么样
  • 网站解析打不开做餐饮网站建设
  • 做推广哪个网站最热门关于WordPress的摘要
  • 做网站镜像步骤什么网站简单
  • 重庆招标信息网官网查询企业排名优化公司
  • 任丘网站优化免费建站有哪些网站
  • 做响应式网站的微博号html5怎么做二手网站
  • 临汾网站建设企业网络营销成功案例
  • 网站开发与设计开题报告wordpress固定链接403
  • 专门做游轮的网站excel网站做链接
  • 上海省住房与城乡建设厅网站环境艺术设计最好的大学
  • 创造与魔法官方网站做自己挑号网站后台怎么更新