_beginthreadex、CreateThread、AfxBeginThread的选择
来源:互联网 发布:深圳迈瑞工资待遇知乎 编辑:程序博客网 时间:2024/04/30 10:01
1. Create/EndThread是Win32方法开始/结束一个线程
_beginthreadx/_endthreadex是C RunTime方式开始/结束一个线程
AfxBeginThread在MFC中开始/结束一个线程
2.直接在CreateThread API创建的线程中使用sprintf,malloc,strcat等涉及CRT存储堆操作的CRT库函数是很危险的,容易造成线程的意外中止。 在使用_beginthread和_beginthreadex创建的线程中可以安全的使用CRT函数。但是必须在线程结束的时候相应的调用_endthread或_endthreadex
3._beginthread成对调用的_endthread函数内部隐式的调用CloseHandle关闭了线程句柄,而与_beginthreadex成对使用的_endthreadex则没有关闭线程的句柄,需要显示的调用CloseHandle关闭线程句柄,不要使用_beginthread,使用._beginthreadex代替之。
4.尽量不要在一个MFC程序中使用_beginthreadex()或CreateThread()。
5.没有使用到MFC的线程尽量用_beginthreadex启动。
6.如果在一个与LIBCMT.LIB链接的程序中调用C Runtime函数,则必须要用_beginthreadex启动线程
7._beginthreadex启动的线程可以安全的调用任何C Runtime 函数
_beginthreadx/_endthreadex是C RunTime方式开始/结束一个线程
AfxBeginThread在MFC中开始/结束一个线程
2.直接在CreateThread API创建的线程中使用sprintf,malloc,strcat等涉及CRT存储堆操作的CRT库函数是很危险的,容易造成线程的意外中止。 在使用_beginthread和_beginthreadex创建的线程中可以安全的使用CRT函数。但是必须在线程结束的时候相应的调用_endthread或_endthreadex
3._beginthread成对调用的_endthread函数内部隐式的调用CloseHandle关闭了线程句柄,而与_beginthreadex成对使用的_endthreadex则没有关闭线程的句柄,需要显示的调用CloseHandle关闭线程句柄,不要使用_beginthread,使用._beginthreadex代替之。
4.尽量不要在一个MFC程序中使用_beginthreadex()或CreateThread()。
5.没有使用到MFC的线程尽量用_beginthreadex启动。
6.如果在一个与LIBCMT.LIB链接的程序中调用C Runtime函数,则必须要用_beginthreadex启动线程
7._beginthreadex启动的线程可以安全的调用任何C Runtime 函数
- _beginthreadex、CreateThread、AfxBeginThread的选择
- _beginthreadex、CreateThread、AfxBeginThread的选择
- _beginthreadex、CreateThread、AfxBeginThread的选择
- 关于_beginthreadex、CreateThread、AfxBeginThread的选择
- 关于_beginthreadex、CreateThread、AfxBeginThread的选择
- 关于_beginthreadex、CreateThread、AfxBeginThread的选择
- _beginthreadex,CreateThread,AfxBeginThread的区别
- CreateThread、_beginthreadex和AfxBeginThread比较和选择
- CreateThread、_beginthreadex和AfxBeginThread的区别
- CreateThread()、_beginthreadex()及、AfxBeginThread()函数的讨论
- CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别
- CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别
- CreateThread AfxBeginThread _beginthread _beginthreadex的区别
- CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别
- CreateThread()、_beginthreadex()及、AfxBeginThread()函数的讨论
- CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别
- CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别
- CreateThread、_beginthreadex和AfxBeginThread的区别
- [动态规划-3] 编辑距离-Edit Distance
- 用于函数的与或非 函数
- 程序性能优化
- HadoopWord第一个实例运行的介绍(甲壳虫)
- 关于davinci的编译
- _beginthreadex、CreateThread、AfxBeginThread的选择
- NVL函数 Oracle/PLSQL中的一个函数
- 如何成为Python高手
- 模板 虚函数
- MINA2.0用户手册中文版--第七章 MINA中的处理程序Handler
- 从零开始学WCF(2)设计和实现服务协定
- REST架构风格的理解(分布式应用系统的架构演变)
- cocos2d iOS7 彻底隐藏 status bar
- 记录下最原始的xmlHttp