熟悉工作线程的使用

 熟悉工作线程的使用

1.         熟悉如何建立一个工作线程。

1)    m_hThread=AfxBeginThread(控制函数指针,传递参数,线程优先级,线程堆栈大小,线程创建标志,安全属性结构指针) 返回一个线程指针,保护之以便以后终止该线程

2)    在类中添加控制函数:    static UNIT SecondThread(参数)

3)    终止:afxendthread(退出码);

退出码获得:GetEixtCodeThread(线程句柄,接受终止状态的地址)

线程句柄自爱创建线程返回时返回的CWinTHread从m_hThread成员变量中得到

2.         点击另外一个按钮,停止线程的运行。

定义一个全局变量false,在停止按钮响应函数中设置为ture。

在线程控制函数中判断一下,这个全局变量如:

While(!m_KillWorkTread){

计算……

  WaitForSingleObject(pCCLMemTestDlg->m_hEvent, 1000);

}

可以定义一个事件,当事件有效或者时间到了1000时,会跳出等待

3.         问题:

1)    线程申明是static,所调用的所有函数变量都需要是static,可以传入一个类指针解决问题。如:killtimer调用:     pCCLMemTestDlg->KillTimer(TEST_TOTAL_TIME);

2)         加入getlasterror()查看系统函数错误码,可以通过TOOLS->Error Lookup查询错误码的含义。

 

你可能感兴趣的:(工作)