---------------------------问题描述--------------------------------------
(1)在类DF的函数ControlDF()中开启多个线程;
(2)线程函数的需要调用本类中的函数 void DF::DFthreadFunc(int a, int b, int c);
(3)线程函数需要传递到实际工作函数的参数a,b,c是在ControlDF()函数中赋值。
设计:两个多线程入口函数:ThreadProc0,ThreadProc1
HANDLE CreateThread (
LPSECURITY_ATTRIBUTESlpThreadAttributes,
//线程安全属性
DWORDdwStackSize,
//堆栈大小
LPTHREAD_START_ROUTINElpStartAddress,
//线程函数
LPVOIDlpParameter,
//线程参数
DWORDdwCreationFlags,
//线程创建属性
LPDWORDlpThreadId
//线程ID
)DWORD WINAPI Threadroc0 (LPVOID lpParameter)
{
HVC_DeblockingFilter *lp = ( HVC_DeblockingFilter *) lpParameter
lp->DFthreadFunc(a, b, c);
}
void DF::ControlDF()
{
......
int a=1;
int b = 2;
int c = 3;
hThreadDF[0] = CreateThread (NULL, 0, ThreadProc0, this, 0, NULL); // ThreadProc0需要是静态成员函数
hThreadDF[1] = CreateThread (NULL, 0, ThreadProc1, this, 0, NULL); // ThreadProc1需要是静态成员函数
......
}
但是,由于 ThreadProc0
----------------------------end of 问题描述---------------------------
class DF
{
void ControlDF ();
void xDFLcu ();
}
HANDLE hThreadDF[2];
void DF::ControlDF()
{
......
hThreadDF[0] = CreateThread (NULL, 0, ThreadProc0, this, 0, NULL);
hThreadDF[1] = CreateThread (NULL, 0, ThreadProc1, this, 0, NULL);
......
}