您好,欢迎来到外链网!
当前位置:外链网 » 站长资讯 » 专业问答 » 文章详细 订阅RssFeed

fopen和fwrite,fopen fread

来源:互联网 浏览:44次 时间:2023-04-08

fopen,fread与open,read分别属于两套接口,open,read更偏底层属于系统调用

在项目中用到了fopen,fread,fseek组合使用时,存在线程安全问题,需要加锁,也就是

lock()? //加锁

fopen

fseek

fread

fclose

unlock() //解锁

原因是每个线程fopen时都会有一条独立的IO流,但是这些IO流在底层缓存时存在线程安全的问题

相比起来open,read接口组合使用时,就不存在线程安全的问题,已经测试过,不需要加锁

94253384