首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

工作线程跟界面线程

2012-09-22 
工作线程和界面线程以前直接用CreateThread创建线程,现在换个招式。创建界面线程1)我现在是如下操作的,各位

工作线程和界面线程
以前直接用CreateThread创建线程,现在换个招式。创建界面线程
1)我现在是如下操作的,各位看看可以不?
继承class CMyUIThread : public CWinThread
然后在CMyUIThread 类里写实现函数,
通过pThreadjie = AfxBeginThread(RUNTIME_CLASS(CMyUIThread));的pThreadjie 这个指针调用实现函数,可以吗?

2)可不可以直接用AfxBeginThread创建工作线程和界面线程?可以的话,怎么操作呢(请给出简要代码)?

[解决办法]
都可以,其实工作线程和界面线程只是逻辑定义,区别就是有没有窗口而已,本质都是线程而已
[解决办法]
m_pthread=AfxBeginThread(MThreadProc, &m_Param);

MThreadProc 线程函数
m_Param 向线程函数传递的参数
[解决办法]
消息循环加

C/C++ code
while(GetMessage(&&msg,NULL,NULL,NULL))  { //从消息队列中取得消息  TranslateMessage(&&msg);  //检索并生成字符消息WM_CHAR  DispatchMessage(&&msg);  //将消息发送给相应的窗口函数  }
[解决办法]
使用AfxBeginThread 在OnInitDialog最后建立工作线程,另外建一个类作为界面,在工作线程中使用postmessage的方式发送消息通知界面线程来做所有的操作

这样工作线程和界面线程可以分开互补影响,而且不会卡

热点排行