VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 3910|回复: 54

[原创] 多线程 AfxBeginThread 与 CreateThread 的区别

  [复制链接]
79_avatar_middle
最佳答案
0 
在线会员 发表于 2016-10-23 12:31:40 | 显示全部楼层 |阅读模式
fxBeginThread 与 CreateThread 的区别

简言之:

  AfxBeginThread是MFC的全局函数,是对CreateThread的封装。

    CreateThread是Win32 API函数,前者最终要调到后者。


1>.
具体说来,CreateThread这个 函数是windows提供给用户的 API函数,是SDK的标准形式,在使用的过

程中要考虑到进程的同步与互斥的关系,进程间的同步互斥等一系列会导致操作系统死锁的因素,用起来

比较繁琐一些,初学的人在用到的时候可能会产生不可预料的错误,建议多使用AfxBeginThread,是编译

器对原来的CreateThread函数的封装,用与MFC编程(当然,只要修改了项目属性,console和win32项目

都能调用)而_beginthread是C的运行库函数。

2>
在使用AfxBeginThread时,
线程函数的定义为:UINT   _yourThreadFun(LPVOID   pParam)参数必须如此

在使用CreateThread时,
线程的函数定义为: DWORD WINAPI _yourThreadFun(LPVOID pParameter)

两者实质是一样的,
不过AfxBeginThread返回CWinThread指针,就是说它会new一个CWinThread对象,而这个对象在线程运行结束时是会自动删除的,

CreatThread,它返回的是一个句柄,如果你不使用CloseHandle的话就可以通过它安全的了解线程状态,

最后不要的时候CloseHandle,Windows才会释放资源

评分

参与人数 5驿站币 +7 热心值 +7 收起 理由
02_avatar_small phbmxd + 1 + 1 感谢分享!
10_avatar_small cmx006 + 1 + 1 感谢分享!
11_avatar_small 饮水机 + 1 + 1 很给力!
65_avatar_small 编程者 + 2 + 2 赞一个!
88_avatar_small 寂寞江湖 + 2 + 2 赞一个!

查看全部评分





上一篇:STL 名词解释
下一篇:软件版本管理
08_avatar_middle
最佳答案
0 
在线会员 发表于 2016-10-23 21:29:27 | 显示全部楼层
多线程 AfxBeginThread 与 CreateThread 的区别
22_avatar_middle
最佳答案
0 
在线会员 发表于 2016-10-24 09:37:30 | 显示全部楼层
多谢分享   回复学习
49_avatar_middle
最佳答案
0 
在线会员 发表于 2016-10-24 10:26:11 | 显示全部楼层
学习学习多线程 AfxBeginThread 与 CreateThread 的区别
07_avatar_middle
最佳答案
0 
online_vip 发表于 2016-10-24 11:31:51 | 显示全部楼层
看看有什么区别吧。
06_avatar_middle
最佳答案
0 
在线会员 发表于 2016-10-25 14:59:51 | 显示全部楼层
多谢分享   回复学习
72_avatar_middle
最佳答案
0 
在线会员 发表于 2016-10-26 06:43:05 | 显示全部楼层
看看是什么情况
35_avatar_middle
最佳答案
0 
在线会员 发表于 2016-10-26 10:15:25 | 显示全部楼层
来看看多线程 AfxBeginThread 与 CreateThread 的区别
51_avatar_middle
最佳答案
0 
在线会员 发表于 2016-11-11 23:20:34 | 显示全部楼层
RE: 多线程 AfxBeginThread 与 CreateThread 的区别 [修改]
高级模式
BColorImageLinkQuoteCodeSmilies@朋友
38_avatar_middle
最佳答案
0 
online_vip 发表于 2016-11-13 13:23:17 | 显示全部楼层
。。。。。。。。。。。。。。。。。。。。。。。
49_avatar_middle
最佳答案
0 
在线会员 发表于 2016-11-13 20:44:34 | 显示全部楼层
无聊,过来看一看
75_avatar_middle
最佳答案
0 
在线会员 发表于 2016-11-13 21:47:37 | 显示全部楼层
多谢分享   回复学习
34_avatar_middle
最佳答案
0 
online_vip 发表于 2016-11-21 08:39:00 来自手机 | 显示全部楼层
看看,学习学习。
38_avatar_middle
最佳答案
0 
在线会员 发表于 2016-11-21 15:41:18 | 显示全部楼层
66666666666
31_avatar_middle
最佳答案
0 
在线会员 发表于 2016-11-21 16:00:58 | 显示全部楼层
看看有什么区别啊
85_avatar_middle
最佳答案
0 
online_vip 发表于 2017-1-5 10:57:30 | 显示全部楼层
看看,学习一下
17_avatar_middle
最佳答案
0 
在线会员 发表于 2017-1-11 21:30:56 | 显示全部楼层
还有一个thread跟这二个有什么区别
81_avatar_middle
最佳答案
0 
online_vip 发表于 2017-1-13 00:25:42 | 显示全部楼层
多线程 AfxBeginThread 与 CreateThread 的区别
95_avatar_middle
最佳答案
0 
在线会员 发表于 2017-3-27 14:32:50 | 显示全部楼层
看看是什么情况
29_avatar_middle
最佳答案
0 
online_vip 发表于 2017-4-20 00:33:42 | 显示全部楼层
多谢分享   回复学习
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-11-12 12:42

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表