今天跟大家伙儿聊聊这个beginthread
,哎呀妈呀,说起来都是泪!为搞明白这个东西,我可是费老鼻子劲!
我是想整个多线程的东西,提高点效率啥的。然后就在网上搜嘛找到一堆资料,其中就提到这个beginthread
。我一看,这个简单粗暴,应该挺好用。
我兴冲冲地就开干,先是查查怎么用,网上资料嘛总是不那么详细,看着别人写的例子,我也写一个,代码抄一抄,变量改一改。然后,就编译,运行!
结果?程序直接崩溃!当时我就懵,这是咋回事?我这代码也没啥毛病!
没办法,只能调试呗。一步一步地走,看看是哪儿出问题。结果发现,程序在这个beginthread
函数执行的时候就直接挂。这可把我给难住,这函数到底是个啥原理?
- 我得知道,
beginthread
是用来创建线程的,而线程是啥?就是一个程序里面可以同时干多个活儿的小分队。 - 然后,我发现,直接用
beginthread
好像不太行,得用_beginthreadex
才更安全。 - 我就把代码改改,用上
_beginthreadex
,这回程序是不崩溃,但是线程好像没跑起来!
我又是一顿查资料,问大佬,终于搞明白,原来是我线程函数写得有问题,返回值类型不对,参数传递也乱七八糟的。这下子,我可算是知道问题出在哪儿。赶紧改代码,把线程函数好好写写,这下子,线程终于是跑起来!
经过我反复测试之后,发现程序跑起来那是相当的顺滑,多线程的威力那是杠杠的!我这心里别提多高兴,总算是把这个beginthread
给拿下!
总结
这一通折腾下来,我可是收获满满。就是这个beginthread
和_beginthreadex
,以后再用的时候,我就知道该怎么选。就是写线程函数的时候,一定要注意返回值和参数,不然可是会出大问题的。就是遇到问题不要慌,多查资料,多问问别人,总能解决的!
好,今天就跟大家分享到这儿,希望能对你们有所帮助!
免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。