不同DLL的线程之间如何通信?

swlyzju 2009-08-03 08:52:58
在dll_A中有线程1,dll_B中有线程2
线程1首先判断flag标志,为true则运行一下,完后设flag为false,并等待flag为true;线程2查询flag为false则运行一下,完后设flag为true,并等待flag为false;线程1再查询flag是否为ture,如此循环.
主框架连接两dll的接口不同,想要上述过程实时进行并尽少占用系统资源,应该如何实现?

最好能说下具体步骤,给些简要的代码....
...全文
82 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
swlyzju 2009-08-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 biweilun 的回复:]
为什么不使用内存映射呢
[/Quote]

因为我不会用啊,这个具体怎么操作?
biweilun 2009-08-03
  • 打赏
  • 举报
回复
为什么不使用内存映射呢
gg606 2009-08-03
  • 打赏
  • 举报
回复
两个DLL中的线程不会是在 DLL_PROCESS_ATTACH 时创建吧?
应该是各提供一个接口函数创建线程吧?
那么在调用方,声明一个生命周期够长的变量Flag,并把这个变量的地址分别传给两个DLL的接口函数。

“在查询flag值时用那种方式最节省电脑资源?”
就用if(flag)呀,这有什么省不省资源的?
注意修改flag的值要使用原子操作,最简单的是使用InterlockedExchange
swlyzju 2009-08-03
  • 打赏
  • 举报
回复
具体怎么操作?是dll_A把flagA传给主框架,主框架用sendmessage给flagB赋值,再传给dll_B?
在查询flag值时用那种方式最节省电脑资源?
oyljerry 2009-08-03
  • 打赏
  • 举报
回复
直接dll_A,dll_B的接口中增加一个参数来设置flag..

15,471

社区成员

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

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