win c语言创建线程,初学者 CWinThread 线程类
菜鳥 CWinThread 線程類求助
定義了這么一個線程
class?CPreview?:?public?CWinThread
{
DECLARE_DYNCREATE(CPreview)
private:
CRITICAL_SECTION?m_cs;
EdsBaseRef?FCamera?;
bool?FMirror,FYMirror,FRotate;
bool?bStop?;
void?DownLoadEvfData();
protected:
CPreview();
CPreview(EdsBaseRef?camera,bool?CreateSuspended,bool?bMirror,bool?bRotate);
virtual?~CPreview();
public:
virtual?BOOL?InitInstance();
virtual?int?ExitInstance();
virtual?int?Run();
__declspec(property(get=GetMirror,put=SetMirror))?bool?Mirror;
__declspec(property(get=GetYMirror,put=SetYMirror))?bool?YMirror;
__declspec(property(get=GetRotate,put=SetRotate))?bool?Rotate90;
protected:
afx_msg?void?OnStopView(WPARAM?wParam,LPARAM?lParam);
bool?GetMirror()
{
return?FMirror;
}
void?SetMirror(bool?bmirror)
{
FMirror?=?bmirror;
}
bool?GetRotate()
{
return?FRotate;
}
void?SetRotate(bool?brotate)
{
FRotate?=?brotate;
}
bool??GetYMirror()
{
return?FYMirror;
}
void?SetYMirror(bool?bymirror)
{
FYMirror?=?bymirror;
}
DECLARE_MESSAGE_MAP()
};
這個線程在其它類中定義了一個實例
CWinThread?*preview;
是這么創(chuàng)建線程的
preview?=?AfxBeginThread(RUNTIME_CLASS(CPreview),0,0,CREATE_SUSPENDED,0);
preview->m_bAutoDelete?=?true;
1.我想讓它創(chuàng)建時掛起,但發(fā)現(xiàn)如果掛起了,再preview->ResumeThread(),無法喚醒
2.在線程類中,定義了一些變量,需要外界傳遞進(jìn)來,使用上述方式創(chuàng)建時,它執(zhí)行的是該構(gòu)造函數(shù)CPreview();而不是這個,CPreview(EdsBaseRef?camera,bool?CreateSuspended,bool?bMirror,bool?bRotate);如果我想傳遞初始化參數(shù),該如何處理
3.該線程需要長時間后臺處理,下載圖像數(shù)據(jù),再用回調(diào)的形式將數(shù)據(jù)傳遞到主界面上,是否可重寫RUN().如果可以,該怎么寫,直接寫個while(tru)么,看MSDN上說,最好不要重寫
萬分感謝!!!!
分享到:
------解決方案--------------------
我都是直接調(diào)用API的,MFC的東西一點都不懂,來幫頂一下
------解決方案--------------------
“線程可以自己掛起但不能自己恢復(fù)”
總結(jié)
以上是生活随笔為你收集整理的win c语言创建线程,初学者 CWinThread 线程类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 感悟:web前端工程师该如何定位
- 下一篇: [云炬创业学笔记]第二章决定成为创业者测