AfxBeginThread的介绍/基本用法
来源:互联网 发布:南风知我意1,2txt下载 编辑:程序博客网 时间:2024/06/01 10:11
AfxBeginThread
用户界面线程的AfxBeginThread
CWinThread* AFXAPI AfxBeginThread(
CRuntimeClass* pThreadClass,
int nPriority,
UINT nStackSize,
DWORD dwCreateFlags,
LPSECURITY_ATTRIBUTES lpSecurityAttrs)
其中:
参数1是从CWinThread派生的RUNTIME_CLASS类;
参数2指定线程优先级,如果为0,则与创建该线程的线程相同;
参数3指定线程的堆栈大小,如果为0,则与创建该线程的线程相同;
参数4是一个创建标识,如果是CREATE_SUSPENDED,则在悬挂状态创建线程,在线程创建后线程挂起,否则线程在创建后开始线程的执行。
参数5表示线程的安全属性,NT下有用。
工作者线程的AfxBeginThread
工作者线程的AfxBeginThread的原型如下:
CWinThread* AFXAPI AfxBeginThread(
AFX_THREADPROC pfnThreadProc,
LPVOID pParam,
int nPriority,
UINT nStackSize,
DWORD dwCreateFlags,
LPSECURITY_ATTRIBUTES lpSecurityAttrs)
其中:
参数1
参数2
参数3、4、5分别指定线程的优先级、堆栈大小、创建标识、安全属性,含义同用户界面线程。
附录A:
结束线程的两种方式
面会详细的向你解释要结束线程的两种方式
当然你可以定义自己的认为合适的值来代表线程成功执行.在线程内调用AfxEndThread将会直接结束线程,此时线程的一切资源都会被回收.
还是老师的那个项目,以前由于计算量太大,导致程序经常出现假死的现象,因为程序只有一个线程,该线程主要用于处理计算上了,而对于消息队列的响应被忽略了。因此解决的办法就是用两个线程,一个线程用于计算,一个线程用于处理消息。
UINT CMultithreadDlg::jisuan(LPVOID lpParam)
{
int i = 1;
for (;;)
{
}
return 0;
}
CWinThread* mythread = AfxBeginThread(
我就纳闷了,函数指针是对的啊,原来 线程函数可以且必须是全局函数或者是静态成员函数。
所以我们在线程函数的声明中改为 static UINT jisuan(LPVOID lpParam);即可,然后运行程序,这时点击start,待CPU涨至100%后,点击dialog,弹出对话框了,拖动、关闭窗口均没问题了。
在原来的程序上进行改动。向对话框类里面添加一个CWinThread* 的成员变量,不用初始化为NULL,这样会报错的,因为它只能通过AfxBeginThread函数获得。把start里面的声明去掉。
然后添加一个 pause 按钮向其响应函数里面添加代码 mythread->SuspendThread();
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread的介绍/基本用法
- AfxBeginThread 的介绍/基本用法
- AfxBeginThread的基本用法
- AfxBeginThread的基本用法
- VS2010在调试无法使用"编辑并继续"修改代码
- 规范大哥大范甘迪发
- 详解linux下的串口通讯开发
- C# WebService调用的三大难题
- 安装Linux Mint 17后要做的20件事
- AfxBeginThread的介绍/基本用法
- hdu 2844 Coins(dp 多重背包 二进制优化)
- 项目管理能力提升四要素
- ip限制
- 子数组最大和
- HDU 4912 - Paths on the tree (LCA 贪心)
- Makefile的依赖自动生成 tom tromey
- C++缓冲池
- Unsolved ---poj1979 不知哪里错了