先声明,本人经验尚浅,各位牛人大虾不要鄙视我。
大家都知道Windows下创建线程的API是CreateThread(),而在CRT中也给了经封装过的创建函数_beginthreadex()和_beginthread()。而在《Windows核心编程》和《深入浅出MFC》中都建议不要直接使用CreateThread(),而建议使用_beginthreadex(),这样可以保证每个线程里有各自独立的errno,使得Windows API能被安全的调用。但是自己在实际工作中,见到别人写的代码几乎无一例外是直接使用CreateThread()。所以想问一下经验丰富的大侠们,你们是怎么看待这个问题?并且你们在写代码过程中是怎么选择的?
大家都知道Windows下创建线程的API是CreateThread(),而在CRT中也给了经封装过的创建函数_beginthreadex()和_beginthread()。而在《Windows核心编程》和《深入浅出MFC》中都建议不要直接使用CreateThread(),而建议使用_beginthreadex(),这样可以保证每个线程里有各自独立的errno,使得Windows API能被安全的调用。但是自己在实际工作中,见到别人写的代码几乎无一例外是直接使用CreateThread()。所以想问一下经验丰富的大侠们,你们是怎么看待这个问题?并且你们在写代码过程中是怎么选择的?
解决方案 »
- 哪位大大帮忙看一下这段白痴的汇编代码啥意思的呢?
- 请问如何在程序中实现自动弹出qq的一个会话框
- 那里有lsass.exe的源代码, 想知道如何修改本地安全策略中的密码策略?
- 如何编程实现 在“我的电脑”的目录下建一个目录。
- 找不到MFC71.dll
- 你说神奇不神奇,ADO SQL添加功能时,我加上AddNew等到Update时就提示#3119,去掉AddNew还添加成功,为什么?
- VC工程里装不上串口通信的那个控件了!!!
- 胡涂了
- 怎么打开光驱啊,我是菜鸟,刚刚学VC++!!!!!!!
- cannot open file "mfc42u.lib"怎么回事,怎么改动配置选项?
- 虚拟内存问题
- VC可以对Share point编程吗? Share point有没有相应的编程接口?
自己也是看书上推荐使用_beginthreadex,但是自己写代码从来只用CreateThread(),习惯?或许吧
这类代码大部分是不用考虑运行后果的
不过从严谨性考虑
还是使用_beginthreadex更好些