linux read write

作者: grimlock44 | 来源:发表于2019-07-03 09:54 被阅读0次

    read、write、pread、pwrite都属于系统调用,p+函数多了一个offset参数,可以指定位置写入。
    fread、fwrite属于glibc封装函数,因为系统调用开销比较大,fwrite会先写入缓冲区,一定条件下再去执行系统调用write,也可以使用fflush强制执行系统调用。
    以上函数都不能单独的保证线程安全
    read、write可以在open文件时加O_APPEND来保证线程安全。原理是加了个用户态锁。
    pread、pwrite也可以使用O_APPEND,也可以不同线程不同offset来保证不冲突。
    fread、fwrite需要线程锁之类的保证。

    相关文章

      网友评论

        本文标题:linux read write

        本文链接:https://www.haomeiwen.com/subject/xmmfhctx.html