之前在MFC就用过多线程,不过印象不深刻,再加上好长时间没用了,今天碰巧想起,就记下来,
一则加深自己对多线程的印象,二则以后忘了直接上博客就可以查找,三则和大家分享下心得。
下面以MFC的Progress控件为例。
//注意:
// AfxBeginThread函数参数类型是UINT(usigned int)的。
// 而CreateThread函数的参数才是DWORD(unsigned long)
// 并且AfxBeginThread不需要指定为WINAPI回调函数
// 线程函数可以是全局函数或者是静态成员函数。
// 所以当为类成员函数时,一般是将线程函数申明为静态
先给出四个函数声明:
struct threadInfo
{
UINT nMilliSecond;
CProgressCtrl *pctrlProgress;
};
UINT ThreadFunc1(LPVOID lpParam);
UINT ThreadFunc2(LPVOID lpParam);
class CMultiThread5Dlg : public CDialog
{
// Construction
public:
static UINT ThreadFunc3(LPVOID lpParam);
static UINT ThreadFunc4(LPVOID lpParam);