CreateThread、_beginthreadex和AfxBeginThread的区别
来源:互联网 发布:职场书籍推荐 知乎 编辑:程序博客网 时间:2024/04/29 20:37
一直对这三个创建线程的方法都搞不清楚,不知道在什么情况下该用那种方法,下面是从网上摘录的一些帖子:
1、不要在一个MFC程序中使用_beginthreadex()或CreateThread()。
这句话的意思是由于AfxBeginThread()是MFC封装的启动线程的函数,里面包含了很多和MFC相关的启动信息,而且封装了一些常用的操作,使用起来也比较简便。而用另外两个函数就需要程序员对类型,安全性检查进行更多的思考!
2、用_beginthreadex()函数应该是最佳选择,因为_beginthreadex()函数是C Run-time Library 中的函数,函数的参数和数据类型都是C Run-time Library中的类型,这样在启动线程时就不需要进行Windows数据类型和C Run-time Library中的数据类型之间的转化。减低了线程启动时的资源消耗和时间的消耗!
3、在C++程序中,几乎都要用到new和delete,难道只有使用_beginthreadex()?
不,因为MFC也是C++类库(只不过是Microsoft的C++类库,不是标准的C++类库),在MFC中也封装了new和delete两中运算符,所以用到new和delete的地方不一定非要使用_beginthreadex() 函数,用其他两个函数都可以!
这句话的意思是由于AfxBeginThread()是MFC封装的启动线程的函数,里面包含了很多和MFC相关的启动信息,而且封装了一些常用的操作,使用起来也比较简便。而用另外两个函数就需要程序员对类型,安全性检查进行更多的思考!
2、用_beginthreadex()函数应该是最佳选择,因为_beginthreadex()函数是C Run-time Library 中的函数,函数的参数和数据类型都是C Run-time Library中的类型,这样在启动线程时就不需要进行Windows数据类型和C Run-time Library中的数据类型之间的转化。减低了线程启动时的资源消耗和时间的消耗!
3、在C++程序中,几乎都要用到new和delete,难道只有使用_beginthreadex()?
不,因为MFC也是C++类库(只不过是Microsoft的C++类库,不是标准的C++类库),在MFC中也封装了new和delete两中运算符,所以用到new和delete的地方不一定非要使用_beginthreadex() 函数,用其他两个函数都可以!
其实在程序中使用上面的哪个函数并不是绝对的,书的作者只不过是提了一个更佳的搭配方法,我在
MFC程序中也经常使用_beginthreadex()和CreateThread()这两个函数,运行的效果也没有多大的区别,有的时候只是需要你额外的进行一些类型检查和其他的一些转化操作,其余没有其他不妥!
- CreateThread、_beginthreadex和AfxBeginThread的区别
- CreateThread、_beginthreadex和AfxBeginThread的区别
- _beginthreadex与createthread和AfxBeginThread的区别
- _beginthreadex与createthread和AfxBeginThread的区别
- CreateThread、_beginthreadex和AfxBeginThread 的区别
- _beginthreadex与createthread和AfxBeginThread的区别
- CreateThread、_beginthreadex和AfxBeginThread 的区别
- _beginthreadex,CreateThread,AfxBeginThread的区别
- CreateThread、_beginthreadex、AfxBeginThread 区别
- CreateThread()、_beginthreadex()及、AfxBeginThread()的联系和区别
- CreateThread()、_beginthreadex()及、AfxBeginThread()的联系和区别
- windows多线程编程CreateThread,_beginthead(_beginthreadex)和AfxBeginThread的区别
- CreateThread、_beginthreadex、AfxBeginThread的区别和正确使用
- CreateThread、_beginthreadex和AfxBeginThread
- CreateThread、_beginthreadex和AfxBeginThread
- CreateThread、_beginthreadex和AfxBeginThread
- CreateThread、_beginthreadex和AfxBeginThread
- CreateThread、_beginthreadex和AfxBeginThread
- 转来的 Direct X 介绍及其在VC++6.0和VC.NET中的设置 .
- 如何与客户相处
- (2011.10.30)3_a3.cpp —— 循环队列结构的定义
- I2S音频总线学习(二)I2S总线协议
- 应该掌握的基本技能
- CreateThread、_beginthreadex和AfxBeginThread的区别
- 第一次博客,随便说说。
- HTTP状态码说明
- 数组输出函数的实现
- 房价真的暴跌?戏说房价暴跌的23个后果
- Zend Framework 中的index.php
- 代理猎手使用方法
- 黑马程序员_关于java异常机制的学习
- mysql 存储过程 范例