多线程共同调用同一个回调函数会有问题吗?

FreeBirdsme 2003-08-25 03:55:41
在dll的多个线程调用动态库外的回调函数,这样几个线程可能会同时进入回调函数中,从而造成回调函数内部的变量数据混乱,是不是这样的? 有没有什么好办法解决?
...全文
802 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
baichi2002 2003-08-26
  • 打赏
  • 举报
回复
有一定的难度!
luogucai 2003-08-25
  • 打赏
  • 举报
回复
对,需要判断是否使用了同一个变量.非常危险,如果可以的话,最后使用线程同步,在函数的起始位置,加入进入临界区控制
lggang 2003-08-25
  • 打赏
  • 举报
回复
关注
whoishere 2003-08-25
  • 打赏
  • 举报
回复
如果回调函数中使用了静态变量或者全局变量,的确可能引起问题。
解决问题的方法是在访问这些数据之前加锁,访问之后解锁。
锁有很多种形式,可以是事件(EVENT),也可以是临界区,等等。一般情况下都可以采用

15,471

社区成员

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

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