首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言 文件操作?该如何处理

2012-04-12 
C语言 文件操作?我使用多线程操作,想有一个日志文件,但每使用一个线程就会打开-关闭文件,而且还会发生冲突

C语言 文件操作?
我使用多线程操作,想有一个日志文件,但每使用一个线程就会打开-关闭文件,而且还会发生冲突,这个怎么解决呀??有什么比较好的办法么?

[解决办法]
内存映射,设置writecopy页面属性,为每个线程分配个独立的页面供读写
[解决办法]
写日志操作不应进行打开关闭文件操作,应该在某段最初的初始化代码中打开日志文件,将相关信息和日志文件指针用一个结构体描述,然后实现结构体各字段(除了文件指针)信息更新、文件写入代码的互斥操作。
thread()
{
struct LOGINFO loginfo;
getLoginfo(&loginfo);
lock;
writelog(&loginfo);
unlock;
}
[解决办法]
加锁啊,很显然的互斥问题。

热点排行