MFC下的三种多线程开发
来源:互联网 发布:音乐节 知乎 编辑:程序博客网 时间:2024/06/05 06:10
对比MFC下的三种多线程开发。
1、C语言函数,调用_beginthread();
2、API函数,调用CreateThread();操作系统提供的接口
3、MFC函数,调用AfxBeginThread();
若在MFC下编程,推荐使用AfxBeginThread();方面创建线程、线程等待、线程唤醒等操作。
CWinThread* MyThread = AfxBeginThread(MyThreadFunction,pParam, THREAD_PRIORITY_NOMAL,0,0,NULL);
让线程等待:MyThread-.>SuspendThread();
唤醒暂停的线程:MyThread->ResumeThread();
AfxEndThread();释放线程资源,但一般不需要用户使用,当线程自然退出后,MFC会自动释放资源。
查看线程状态:
DWORD code; GetExitCodeThread(MyThread->m_hThread,&code); code == STLL_ACTIVE执行状态;否则是暂停状态。
_beginthread()和AfxBeginThread()的底层都调用了CreateThread函数。
CreateThread函数没有考虑下面两点:
1、C Runtime中需要对多线程进行记录和初始化,以保证C函数库正常工作。
2、MFC也需要知道新进程的创建,也需要做一些初始化工作。
所以,在不调用MFC和CRT函数时,可以用CreateThread创建线程,其它情况不要使用。
0 0
- MFC下的三种多线程开发
- 三. MFC中的多线程开发
- MFC下多线程的建立
- C++/MFC创建多线程的三种方法(转载)
- MFC下多线程UpdateData的使用方法
- 关于MFC框架下的多线程
- MFC下多线程UpdateData的使用方法
- MFC下多线程UpdateData的使用方法
- MFC下多线程UpdateData的使用方法
- MFC 多线程下使用UpdateData的方法
- VC下的三种MFC动态库区别
- 多线程编程——MFC的多线程开发
- 一步一步尝试在MFC下开发基于winpcap的数据包捕获和分析软件(之三)
- linux下的多线程开发
- MFC下的线程(Windows环境下的多线程编程)
- MFC下的线程(Windows环境下的多线程编程)
- ios多线程开发的常用三种方式
- ios多线程开发的常用三种方式
- log4j日志组件基本用法及原理
- 静态mac vlan配置要点及实例
- ZOJ 3846 GCD Reduce
- 静态库和动态库创建过程
- Android提取漏洞资料
- MFC下的三种多线程开发
- 警民合作移动终端
- 对于IOC依赖注入的理解
- 欢迎加入群一起讨论XE移动开发
- phpstorm直接tp的D方法代码提示
- Android 手动显示和隐藏软键盘
- Fragment 创建不了, XML 文件报错
- 18-常见结构体-foundation
- 算法学习(Java语言描述) -- 插入排序