MFC线程的挂起、唤醒和终止
2015-04-10 09:22
603 查看
1、创建一个基于MFC的基本对话框,命名为ThreadManage
2、在对话框窗口创建五个按钮和一个静态文本和一个进度条
_______________________________________
| _____________________________ |
| 线程管理 | |
| | | |
| | |=====================| | |
| | | |
| |____________________________ | |
| |
| |创建线程| |挂起线程| |唤醒线程| |
| |
| | 终止线程| | 取 消 | |
|_______________________________________|
3、在CThreadManageDlg定义中添加一个成员函数
HANDLE m_hThread;
4、使用类向导为进度条创建一个变量m_Prog。
5、在CThreadManageDlg定义中编写一个没有基类的线程函数,
在线程函数中设计一个较大的循环,显示进度条的进度。代码如下:
DWORD _stdcall ThreadProc(LPVOID lpParameter)
{
CThreadManageDlg * pDlg=(CThreadManageDlg*)lpParameter; //获取对话框指针
pDlg->m_Prog.SetRange(0,99999);
for(int i=0;i<99999;i++)
{
pDlg->m_Prog.SetPos(i);
}
return 0;
}
6、用类向导为按钮“创建线程”添加一个处理函数并进行编辑如下:
void CThreadManageDlg::OnBtCreate()
{
m_hThread=CreateThread(NULL,0,ThreadProc,this,0,NULL); //创建线程
}
7、用类向导为按钮“挂起线程”添加一个处理函数并进行编辑如下:
void CThreadManageDlg::OnBtsuspend()
{
SuspendThread(m_hThrad);
}
8、用类向导为按钮“唤醒线程”添加一个处理函数并进行编辑如下:
void CThreadManageDlg::OnBtresume()
{
ResumeThread(m_hThread);
}
9、用类向导为按钮“终止线程”添加一个处理函数并进行编辑如下:
void CThreadManageDlg::OnBtterminate()
{
TerminateThread(m_hThread,0);
}
10、用类向导为按钮”取消“添加一个处理函数并编辑如下:
void CThreadManageDlg::OnCancel()
{
exit(1);
}
完工!可以编译并运行了!
2、在对话框窗口创建五个按钮和一个静态文本和一个进度条
_______________________________________
| _____________________________ |
| 线程管理 | |
| | | |
| | |=====================| | |
| | | |
| |____________________________ | |
| |
| |创建线程| |挂起线程| |唤醒线程| |
| |
| | 终止线程| | 取 消 | |
|_______________________________________|
3、在CThreadManageDlg定义中添加一个成员函数
HANDLE m_hThread;
4、使用类向导为进度条创建一个变量m_Prog。
5、在CThreadManageDlg定义中编写一个没有基类的线程函数,
在线程函数中设计一个较大的循环,显示进度条的进度。代码如下:
DWORD _stdcall ThreadProc(LPVOID lpParameter)
{
CThreadManageDlg * pDlg=(CThreadManageDlg*)lpParameter; //获取对话框指针
pDlg->m_Prog.SetRange(0,99999);
for(int i=0;i<99999;i++)
{
pDlg->m_Prog.SetPos(i);
}
return 0;
}
6、用类向导为按钮“创建线程”添加一个处理函数并进行编辑如下:
void CThreadManageDlg::OnBtCreate()
{
m_hThread=CreateThread(NULL,0,ThreadProc,this,0,NULL); //创建线程
}
7、用类向导为按钮“挂起线程”添加一个处理函数并进行编辑如下:
void CThreadManageDlg::OnBtsuspend()
{
SuspendThread(m_hThrad);
}
8、用类向导为按钮“唤醒线程”添加一个处理函数并进行编辑如下:
void CThreadManageDlg::OnBtresume()
{
ResumeThread(m_hThread);
}
9、用类向导为按钮“终止线程”添加一个处理函数并进行编辑如下:
void CThreadManageDlg::OnBtterminate()
{
TerminateThread(m_hThread,0);
}
10、用类向导为按钮”取消“添加一个处理函数并编辑如下:
void CThreadManageDlg::OnCancel()
{
exit(1);
}
完工!可以编译并运行了!
相关文章推荐
- C++ 线程的创建,挂起,唤醒,终止
- C++多线程编程――线程的挂起、唤醒与终止
- C++ 线程的创建,挂起,唤醒,终止
- C/C++ Windows API——线程挂起、唤醒与终止
- C++多线程编程——线程的挂起、唤醒与终止
- C++ 线程的创建,挂起,唤醒,终止
- 线程的挂起,唤醒和终止
- C++多线程编程——线程的挂起、唤醒与终止
- 线程的挂起,唤醒和终止
- Window API (八)多线程的挂起、恢复、切换、终止线程
- MFC的进程和线程,非正常终止
- java线程技术6_线程的挂起和唤醒
- 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)
- Java线程的挂起、恢复和终止
- java线程技术6_线程的挂起和唤醒
- java挂起、恢复和终止线程&线程间通信
- 详解Java编程中线程的挂起、恢复和终止的方法
- Java多线程(三)——线程挂起、恢复、终止
- delphi线程的创建、挂起、激活与终止
- 猎豹MFC--进程和线程--创建线程AfxBeginThread() SetDlgItemInt()线程暂停继续终止