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

confu 2009-08-07 11:08:53
我在DLL中有对文件的操作,但操作的并不是同一个文件,请教一下怎么实现线程同步
...全文
113 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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文件

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

如果是想同步其它数据,LZ可以查下线程同步的方法,有许多,,,
yxder 2009-08-07
  • 打赏
  • 举报
回复
局外人:设置个同步信号变量
zhaohongbo83 2009-08-07
  • 打赏
  • 举报
回复
能不能把问题再说的细一点!

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧