完成端口创建线程用CreateThread()还是用_beginthreadex()?解决办法

完成端口创建线程用CreateThread()还是用_beginthreadex()?
Windows核心编程上强烈建议用_beginthreadex(),但看了几份源码,用两者的都有,按照书上说的,个人觉得写完成端口线程时用CreateThread()是没问题的,求证下~

------解决方案--------------------


CreateThread用某些不支持多线程的早期c语言函数会导致多线程里某c函数对c全局变量的非线程安全操作.
不知道现在新vs里更新了crt函数没.所以还是用_beginthreadex
------解决方案--------------------
_beginthread最终也是通过CreateThread来创建线程的,使用_beginthread函数创建了线程,它会创建好CRT函数需要的一切,并且最后无需我操心,就可以把清除工作做得很好.使用beginthread是首选
------解决方案--------------------
_beginthreadex等就似乎线程更安全些,帮你做了一些处理.
------解决方案--------------------
在_beginthreadex()里面就是调用的CreateThread(),又加了些安全控制什么的,所以用_beginthreadex()
------解决方案--------------------
用CRT函数总是没有错的。

------解决方案--------------------
写C++的话就用_beginthreadex();
MFC程序的话用AfxBeginThread();
------解决方案--------------------
见过boost 的线程

还有许多自己封装的线程库

都是用
CreateThread()


楼主看着办吧
------解决方案--------------------
CreateThread 需要选择多线程调试。