进程调度的控制—文件锁

前言

在进程之间,我们不能决定应该先去调度哪一个进程,这时候我们就需要对一个文件加锁,来要求那个先来执行

整体文件锁

int flock(int fd, int operation);
fd :文件描述符
operation:定义的宏,也就是选项
LOCK_SH 共享锁 多个进程可以拥有该锁
LOCK_EX 独立锁 谁加锁,谁解锁
LOCK_UN 解锁

部分文件锁

nt fcntl(int fd, int cmd,strcut flock *lock);
fd:文件描述符
cmd:锁类型(提供的宏)例如 F_SETLKW(阻塞锁)

	  struct flock {
           short l_type;    /* 锁的类型: F_RDLCK,F_WRLCK,F_UNLCK */
           short l_whence;  /* 部分文件锁的相对位置
		                       SEEK_SET, SEEK_CUR, SEEK_END */
           off_t l_start;   /* 文件锁的开头位置 */
           off_t l_len;     /* 被加锁文件的长度 */
           pid_t l_pid;     /* getpid();加锁文件的进程号 */
       };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值