文件IO中的原子操作
1.open()中指定O_APPEND,则每次write都会先lseek到文件尾,write相对其他进程为原子的
2.open()中指定O_CREAT,则检测文件是否存在和新建文件这两个操作合并为一个原子操作。
3.tmpfile接口把创建文件和unlink文件合并为一个原子操作。
4.fcntl()的文件锁和flock()的文件锁(这两种不一样,具体可man flock)的上锁操作是原子的。
1.open()中指定O_APPEND,则每次write都会先lseek到文件尾,write相对其他进程为原子的
2.open()中指定O_CREAT,则检测文件是否存在和新建文件这两个操作合并为一个原子操作。
3.tmpfile接口把创建文件和unlink文件合并为一个原子操作。
4.fcntl()的文件锁和flock()的文件锁(这两种不一样,具体可man flock)的上锁操作是原子的。