阅读 57

数据管理(五)

竞争锁

现在我们已经了解了如何测试文件上已经存在的锁,下面我们来看一下当两个程序在文件的同一块区域竞争锁时会出现什么情况。我们将会使用我们的lock3程序在文件的第一个位置进行加锁操作,然而一个新的程序在同样的位置尝试加锁。要完成这个例子,我们需要添加一些解锁操作。

试验--竞争锁

下面是程序lock5.c,试图在文件中已被加锁的区域进行加锁操作,而不是测试文件不同部分的锁状态。

1 在#include以及声明之后,打开一个文件描述符:

#include  <unistd.h>
#include  <stdlib.h>
#include  <stdio.h>
#include  <fcntl.h>
const char *test_file = “/tmp/test_lock”;
int main()
{
    int file_desc;
    struct flock region_to_lock;
    int res;
    file_desc = open(test_file, O_RDWR | O_CREAT, 0666);
    if (!file_desc) {

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐