首页 新闻 赞助 找找看

线程同步的问题

0
悬赏园豆:20 [已解决问题] 解决于 2014-07-02 15:28

几个线程要互斥的访问同一个资源。常见的好像有条件变量,互斥锁,信号量等。

但是现在比较麻烦的是线程里面会调用多个不同的dll实现功能,而这些dll才是使用资源的真正对象,请问条件变量,互斥锁和信号量在这种跨dll的环境下可以用吗?

Jingle Guo的主页 Jingle Guo | 初学一级 | 园豆:134
提问于:2014-07-02 14:08
< >
分享
最佳答案
0

可以。

收获园豆:20
Launcher | 高人七级 |园豆:45045 | 2014-07-02 14:39

怎么实现啊?被调用的dll怎么得到主dll里面的互斥对象?

Jingle Guo | 园豆:134 (初学一级) | 2014-07-02 14:57

@Jingle Guo: 从 DLL 导出函数、类、变量,会吗?

Launcher | 园豆:45045 (高人七级) | 2014-07-02 15:02

@Launcher: 我学会的方法只能够实现主dll使用被调用dll的函数,类,变量。

被调用的dll不依赖于主dll,怎么取得主dll里面的函数,类,变量呢?

Jingle Guo | 园豆:134 (初学一级) | 2014-07-02 15:05

@Jingle Guo: 我假设 A 依赖 B,从 B 中导出函数、类、变量供 A 调用,这是基础的用法,如果现在有需求,要求 A 导出函数、类、变量供 B 使用,那么就产生了循环依赖,这是我们编程中应该坚决禁止的,那么你的需求该如何实现呢?很简单,做个类比,将 A 和 B 都等价为 class,那么我们很快就能得出解决方案,将 A 中的变量作为参数传递进 B 中的某个导出方法。

Launcher | 园豆:45045 (高人七级) | 2014-07-02 15:11

@Launcher: 喔,我都忘了可以这样了,非常感谢啊!

Jingle Guo | 园豆:134 (初学一级) | 2014-07-02 15:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册