难道CreateThread真的那么差吗?

wjb_yd 2010-08-23 02:01:03
最近一直被一个bug困扰,自己写的一个多线程的程序,有时会因为堆损坏而崩溃,始终没有找到问题所在。
因为线程函数里用了很多c运行时库的函数,所以斗胆怀疑了一下是不是用的那些函数不是线程安全的。
到网上搜了一把,都说如果线程函数用了c运行时库,一定要用_beginthreadex来创建线程。(windows核心编程看的不仔细,哎~)
难道CreateThread真的那么差吗?
目前还不知道bug是不是由于这个原因引起的...
...全文
105 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengzhixi 2010-08-23
  • 打赏
  • 举报
回复
好像是因为没有构造一个线程专用的一个数据结构。
macrojj 2010-08-23
  • 打赏
  • 举报
回复
人家只是没有提供运行库的全局变量块
  • 打赏
  • 举报
回复
是否在线程外做了线程挂起操作

如果是这样的操作很容易引起你所说的问题。。。
  • 打赏
  • 举报
回复
核心编程里面 详细讲述了原因。

_beginthreadex最终也会调用CreateThread创建线程。

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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