多线程调用同一个函数时会出现:内存不能写的错误

亚细亚 2012-02-14 10:54:51
这如何是好?
...全文
185 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙行天下之Sky 2012-02-16
  • 打赏
  • 举报
回复
主要看看全局指针以及释放的问题,使用全局非指针型变量不会报内存错误
龙行天下之Sky 2012-02-16
  • 打赏
  • 举报
回复
主要看看全局指针以及释放的问题,使用全局非指针型变量不会报内存错误
龙行天下之Sky 2012-02-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yu52000guang 的回复:]

如果函数没有全局或静态变量,多线程调用是安全的。。。你函数里应该使用了外部的变量,发生了读写冲突
[/Quote]
应该是你使用了全局的指针变量,然后使用完之后又释放的原因,你仔细查查代码
chp845 2012-02-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yaxiya 的回复:]

引用 3 楼 lijianli9 的回复:

多线程 读写访问共享资源,要加入互斥保护。

如何互斥保护?
[/Quote]
mutex 、criticalsetion 、event都是可以的呀?
gameslq 2012-02-16
  • 打赏
  • 举报
回复
该函数为非线程安全函数,应该进行线程同步处理,否则
引起访问冲突,用临界区、信号量、互斥锁都可以
弱水垂钓 2012-02-15
  • 打赏
  • 举报
回复
通常我用CriticalSection
亚细亚 2012-02-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lijianli9 的回复:]

多线程 读写访问共享资源,要加入互斥保护。
[/Quote]
如何互斥保护?
96掌门师兄 2012-02-15
  • 打赏
  • 举报
回复
内存不能写是地址越界了吧,或者指针没有分配空间,你可以参见我的博客,根据错误地址找到错误代码。或者把代码发上来大家看看。
lijianli9 2012-02-15
  • 打赏
  • 举报
回复
多线程 读写访问共享资源,要加入互斥保护。
quwei197874 2012-02-15
  • 打赏
  • 举报
回复
加同步
亚细亚 2012-02-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yu52000guang 的回复:]

如果函数没有全局或静态变量,多线程调用是安全的。。。你函数里应该使用了外部的变量,发生了读写冲突
[/Quote]
这个我到没有想到,测试一下;
Icer 2012-02-14
  • 打赏
  • 举报
回复
如果函数没有全局或静态变量,多线程调用是安全的。。。你函数里应该使用了外部的变量,发生了读写冲突

15,471

社区成员

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

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