思考问题:
1、打开两个终端,运行write_lock.c,运行结果如何?
2、打开两个终端,运行read_lock.c,运行结果如何?
3、一个终端运行read_lock.c,一个终端运行write_lock.c,运行结果如何?
代码文件:
/*write_lock.c*/
#include <unistd.h>
#include <sys/file.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include "lock_set.c"
int main(void)
{
int fd;
/* 首先打开文件 */
fd = open("hello",O_RDWR | O_CREAT, 0644);
if(fd < 0)
{
printf("Open file error\n");
exit(1); }
lock_set(fd, F_WRLCK); /* 给文件上写入锁 */
getchar();