社区
C++ 语言
帖子详情
难道CreateThread真的那么差吗?
wjb_yd
2010-08-23 02:01:03
最近一直被一个bug困扰,自己写的一个多线程的程序,有时会因为堆损坏而崩溃,始终没有找到问题所在。
因为线程函数里用了很多c运行时库的函数,所以斗胆怀疑了一下是不是用的那些函数不是线程安全的。
到网上搜了一把,都说如果线程函数用了c运行时库,一定要用_beginthreadex来创建线程。(windows核心编程看的不仔细,哎~)
难道CreateThread真的那么差吗?
目前还不知道bug是不是由于这个原因引起的...
...全文
112
4
打赏
收藏
难道CreateThread真的那么差吗?
最近一直被一个bug困扰,自己写的一个多线程的程序,有时会因为堆损坏而崩溃,始终没有找到问题所在。 因为线程函数里用了很多c运行时库的函数,所以斗胆怀疑了一下是不是用的那些函数不是线程安全的。 到网上搜了一把,都说如果线程函数用了c运行时库,一定要用_beginthreadex来创建线程。(windows核心编程看的不仔细,哎~) 难道CreateThread真的那么差吗? 目前还不知道bug是不是由于这个原因引起的...
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pengzhixi
2010-08-23
打赏
举报
回复
好像是因为没有构造一个线程专用的一个数据结构。
macrojj
2010-08-23
打赏
举报
回复
人家只是没有提供运行库的全局变量块
摩尔信使MThings
2010-08-23
打赏
举报
回复
是否在线程外做了线程挂起操作
如果是这样的操作很容易引起你所说的问题。。。
珍惜生命远离CPP
2010-08-23
打赏
举报
回复
核心编程里面 详细讲述了原因。
_beginthreadex最终也会调用CreateThread创建线程。
N种内核注入DLL的思路及实现
这种方法简单直接,但稳定性和兼容性较
差
,容易导致目标进程如Explorer.exe等崩溃,且在有杀毒软件运行的环境下,插入操作可能会被检测并阻止。 **关键技术点**: - **ShellCode的执行**:通过APC机制,可以在用户...
ConsoleApplication1.rar
`std::list`提供了双向链接,支持快速的插入和删除操作,但随机访问性能较
差
。在多线程环境下,我们可以使用`std::mutex`来保护对`std::list`的并发访问,如上例所示。 然后,我们转向Windows API中的`...
VC做运动控制的源程序
你可以使用Windows API的
Create
Thread
函数或C++11标准库中的std::
thread
来创建线程。此外,为了确保运动的平滑性和精度,你可能还需要了解定时器(如SetTimer)和同步技术(如Mutex、Semaphore或Event)。 在调试...
multProcess.rar_进度条 时间
C++作为一种强大的系统级编程语言,提供了丰富的库支持来实现多线程,如Windows API中的
Create
Thread
函数或POSIX线程库(p
thread
)。在这个例子中,开发者可能使用了C++的线程库(),或者直接调用了操作系统级别的...
vc线程编程
如果这类操作在主线程中执行,会导致界面冻结,给用户带来极
差
的体验。 - **示例分析**:通过一个简单的例子来说明问题。假设在一个名为`Single
Thread
`的应用程序中,主对话框中有一个“延时6秒”的按钮,当点击此...
C++ 语言
65,209
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章