多线程调用DLL,在DLL操作文件的问题

confu 2009-08-07 11:08:53
我在DLL中有对文件的操作,但操作的并不是同一个文件,请教一下怎么实现线程同步
...全文
69 点赞 收藏 8
写回复
8 条回复
Z.&.Q 2009年08月19日
以前做过这样的东西。其实挺简单的,我大概写一下给你个思路。不知道是不是你想要的。

1. m_hMutex = CreateMutex(XXX,XXX)

文件操作处理前
2.::WaitForSingleObject(m_hMutex, XXX);

3.你的文件操作处理

4.::ReleaseMutex(m_hMutex)

5.CloseHandle(m_hMutex)

大概是这样,具体方法的参数和使用你在查一下吧。
回复 点赞
MoXiaoRab 2009年08月19日
EventA=true EventB=false

func1
{
if(EventA)
{
EventA=false;EventB=true;
}
}

func2
{
if(EventB)
{
}
}
回复 点赞
confu 2009年08月19日
我有个a.dll,里面有二个导出函数func1(seq_id)和func2(seq_id),

我在调用func1的时候在某个目录下查找没有被使用的文件(比如开始有fileA,fileB,fileC三个文件),

比如func1(seq=1)时找到了filaA文件,这时我要根据seq=1独占这个fileA文件,在func2里执行完后再根据seq=1去释放对应的fileA文件

哪位老兄能给个思路?多谢啦~
回复 点赞
写不动代码的人 2009年08月07日
楼主是要线程间通信吗
回复 点赞
MoXiaoRab 2009年08月07日
同步互斥的方法有很多,用互斥量,信号量都可以
回复 点赞
fengrx 2009年08月07日
如果操作的不是同一个文件就不用同步了吧。文件写操作不会冲突。

如果是想同步其它数据,LZ可以查下线程同步的方法,有许多,,,
回复 点赞
yxder 2009年08月07日
局外人:设置个同步信号变量
回复 点赞
zhaohongbo83 2009年08月07日
能不能把问题再说的细一点!
回复 点赞
发动态
发帖子
进程/线程/DLL
创建于2007-09-28

6376

社区成员

4.9w+

社区内容

VC/MFC 进程/线程/DLL
社区公告
暂无公告