文件锁flock对同一文件为什么不能多次加锁
#include<stdio.h>
#include<sys/file.h>
int main() {
FILE* fp;
while(1)
{
fp=fopen("a.txt","r"); //打开文件,a.txt已存在
flock(fileno(fp),LOCK_EX); //加锁
printf("Lock\n");
flock(fileno(fp),LOCK_UN); //解锁
printf("Unlock\n");
fclose(fp); //关闭文件
}
return 0;
}
为什么只输出一对"Lock"和"Unlock",然后就一直阻塞了?