本文主要是介绍_beginthreadex与CreateThread,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
_beginthreadex,创建线程,
Windows操作系统中——每个线程都将拥有自己专用的一块内存区域来供标准C运行库中所有有需要的函数使用。而且这块内存区域的创建就是由C/C++运行库函数_beginthreadex()来负责的。
具体的,_beginthreadex()函数在创建新线程时会分配并初始化一个_tiddata块。这个_tiddata块自然是用来存放一些需要线程独享的数据。事实上新线程运行时会首先将_tiddata块与自己进一步关联起来。然后新线程调用标准C运行库函数如strtok()时就会先取得_tiddata块的地址再将需要保护的数据存入_tiddata块中。这样每个线程就只会访问和修改自己的数据而不会去篡改其它线程的数据了。因此,如果在代码中有使用标准C运行库中的函数时,尽量使用_beginthreadex()来代替CreateThread()。
这篇关于_beginthreadex与CreateThread的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!