hur.cn - 华软网

 热门搜索

关于多线程调用dll

  作者:未知    来源:网络    更新时间:2011/6/14
有一个DLL里面有部分变量是全局变量,
如果我用多个线程去访问或修改这个全局变量那么这个变量会不断的改变,
我想实现在多个线程调用这个变量的每个变量都是与当前的线程有关,不会影响到别的线程,就像多个进程调用同一DLL一样,全局变量不共享,请问大家dll能够实现这样的功能吗.
---华软 网友回答---
因为鼠标按下和放开是两个消息,你处理按下消息没有返回,放开消息就不能得到处理,当然也就弹不起来了
---华软网友回复---
那你最好每个线程用自己独立的全局变量,否则很难保证其他线程不更改你的全局变量(在有更新操作时)
---华软网友回复---
引用 1 楼 kyotrue 的回复:
因为鼠标按下和放开是两个消息,你处理按下消息没有返回,放开消息就不能得到处理,当然也就弹不起来了


汗~回错帖子了.

你的需求是什么?看有没有其他方式可以实现。
---华软网友回复---
建个类,把全局变量该成成员变量?
---华软网友回复---
你只能在各自的线程中维护一份数据了
---华软网友回复---
TLS.....
---华软网友回复---
最简单的是静态TLS
用__declspec( thread )修饰你的全局变量
__declspec( thread )使用时有些注意事项,最好看下
也可以用动态TLS麻烦点但是更直观 ,TlsGetValue 等,但是这样你的DLL代码得做些修改
---华软网友回复---
帮顶下      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。