linux 奇淫巧计 Manual FIle Locking

    类似fputs这样的标准文件IO函数均为线程安全,即函数内部会加锁解锁,但如果是大量文件读写,可以采用flockfile函数来进行统一加锁减锁,而内部采用线程不安全的文件IO。

    例如

    fputs("XXX",stream);

    fputs("YYY",stream);

    fputs("ZZZ",stream);

    可以改写为

    flockfile(stream)

    fputs_unlocked("XXX",stream);

    fputs_unlocked("YYY",stream);

    fputs_unlocked("ZZZ",stream);

    funlockfile(stream)

    这样由三次加锁减锁操作,变为了一次,提高了效率。而且确保了XXX,YYY,ZZZ的顺序写入,即保证了写入顺序。

   

     以上参考 《Linux 系统编程》 ROBERT LOVE著 P80


   


我要啦免费统计
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值