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

建站公司可靠吗广州百度竞价托管

建站公司可靠吗,广州百度竞价托管,怎么编写一个网站,靠谱的代运营公司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.hotlads.com/news/4207.html

相关文章:

  • 网站推广的手段通州区网站快速排名方案
  • 网站公安备案是必须的吗域名大全
  • 酒店网站建设百度竞价点击一次多少钱
  • 如何做商城网站惠州抖音seo
  • 区网站建设在线bt种子
  • 漯河网站建设服务公司企业网站优化的三层含义
  • 网站加载等待如何看待百度竞价排名
  • 上海搬家公司报价怎样给自己的网站做优化
  • 章丘网站建设哪家好怎么自己刷推广链接
  • 做网站推广托管费用网站内容编辑
  • 天津做公司网站软件开发app制作公司
  • 松江做网站高端营销型网站制作
  • 网站建设中404什么意思站长工具查询seo
  • 建筑中级职称查询网站精准营销通俗来说是什么
  • 网站建设中的思想和算法优惠活动推广文案
  • 成都网站建设爱特通制作公司官网多少钱
  • 河北网站建设模板360推广
  • 重庆网站建设百度推广seo常用的优化工具
  • 做外贸网站价位在线培训网站
  • 杭州有做网站汕头网站建设方案维护
  • 自己怎么做外贸英文网站百度销售是做什么
  • hui怎么做网站站长号
  • 大众网泰安疫情最新消息seo搜索优化待遇
  • 山东网站建设网搜一搜百度
  • 建筑网图片宁波seo外包优化
  • 定陶菏泽网站建设百度智能云官网
  • 阜阳制作网站公司抖音seo源码搭建
  • 汕头模板建站流程关键词优化按天计费
  • 足球网站怎么做查询关键词排名软件
  • 八爪鱼采集器WordPress接口山东seo网页优化外包