在Linux中,当进程A要对文件进行写操作时需要先给其做加锁操作(锁类型为共享锁LOCK_SH或互斥锁LOCK_EX),如果另一个进程B已对该文件加了互斥锁(LOCK_EX),则进程A会被阻塞,而如果A加锁的操作中含有LOCK_NB(即锁类型为LOCK_SH|LOCK_NB或LOCK_EX|LOCK_NB),则进程A不会被阻塞,而是得到值为-1的表示加锁失败的结果信息,进程A可继续执行。
Linux下C++ flock函数
最新推荐文章于 2025-02-17 15:45:13 发布
在Linux中,当进程A要对文件进行写操作时需要先给其做加锁操作(锁类型为共享锁LOCK_SH或互斥锁LOCK_EX),如果另一个进程B已对该文件加了互斥锁(LOCK_EX),则进程A会被阻塞,而如果A加锁的操作中含有LOCK_NB(即锁类型为LOCK_SH|LOCK_NB或LOCK_EX|LOCK_NB),则进程A不会被阻塞,而是得到值为-1的表示加锁失败的结果信息,进程A可继续执行。