MFC线程的挂起、唤醒和终止

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);
}

完工!可以编译并运行了!

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值