VS2010 MFC 中线程的使用
2016-06-28 14:27
477 查看
纯粹菜鸟的学习笔记
1、 启动线程:
CWinThread* AfxBeginThread( 线程函数,this );这里的 线程函数 必须是静态成员函数或者全局函数,格式必须是统一的,返回类型必须是UINT,函数只能有一个参数LPVOID.其中UINT就是个无符号
的整形, LPVOID是void*,所以这个参数表示可以传任何类型的指针过来的.
AfxBeginThread(ThreadProc,this);//把this传过去,就可以调用类的成员了. 这样线程函数就可以使用和操作类的成员了。千万要注意线程函数是静
态类函数成员。
2、执行,挂起和恢复执行:
当线程做完任务或者现在想暂停线程运行,就需要使用SuspendThread来暂停线程的执行,当然恢复线程的执行就是使用ResumeThread函数了。
函数SuspendThread和ResumeThread声明如下:
WINBASEAPI DWORD WINAPI SuspendThread(__in
HANDLE hThread);
WINBASEAPI DWORD WINAPI ResumeThread(__in
HANDLE hThread);
hThread是线程的句柄。
3、线程的结束:
(1)调用GetExitCodeThread获得 code 后调用 AfxEndThread,例如:
GetExitCodeThread( m_pThreadRecv->m_hThread, &dwExitCode );
AfxEndThread( dwExitCode, TRUE );
(2)强行终止进程,据说太暴力,连局部变量都不会释放:
TerminateThread
相关文章推荐
- Neither the JAVA_HOME nor the JRE_HOME environment variable is defined解决方案
- sublime text2 + cygwin编译C++
- 图片叠加层切片工具支持腾讯地图了!至此,国内地图三巨头都可以用这工具生成图片叠加层
- 百度定位
- MySQL命令行导出数据库
- 修改Glassfish默认密码,并允许远程登录
- vuejsLearn--- -- 怎么查看、修改、追加数据---->data对象
- Oracle修改字段类型方法总结
- 组件化的Web王国
- linux查看硬件信息
- Spring 集成mongodb maven
- View动画 View Animator——翻译自developer.android.com
- 谈GPU的作用、原理及与CPU、DSP的区别
- 四大组件之:BroadcastReceiver
- Http协议
- ORA-01084: OCI 调用中的参数无效
- C语言中.h和.c文件解析(很精彩)
- UITableview顶部视图缩放效果
- JavaScript强化教程-JS面向对象编程 ...
- android-android.hardware.Camera