[问题] MFC 执行绪 获得回传值方式

楼主: srxrrr (干!我是肌董)   2015-04-17 15:52:31
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VS2010
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
MFC
问题(Question):
想请问如何获得AfxBeginThread后产生子执行绪的运算结果
如下面所贴的单纯程式码
要如何回传子执行绪内所得到iThread值呢?
希望大家能提供一点意见 感激不尽!!
谢谢!!
程式码(Code):(请善用置底文网页, 记得排版)
struct THREAD_INFO //用于传递执行参数子执行绪的资料型态
{
HWND hWnd; //产生执行绪的视窗物件
int iValue;
}Thread_Info; //建立执行绪参数为全域变量
void CMultiTestDlg::OnBnClickedButton1()
{
Thread_Info.iValue = 1; //要输入的参数
AfxBeginThread(Thread, (LPVOID)&Thread_Info); //产生一个子thread
}
UINT CMultiTestDlg::Thread(LPVOID pParam) //执行绪函数
{
THREAD_INFO *Thread_Info = (THREAD_INFO*)pParam;
//建立一个THREAD_INFO的结构指标 传入Thread的参数
int iThread = Thread_Info->iValue + 1; //不知该如何将此值回传...
return 0;
}
作者: sos0214 (kaleidoscope)   2015-04-17 17:00:00
iThread变量宣告在class来取值?
作者: Keitaro (动き出す时间...)   2015-04-18 21:46:00
可以的话 尽可能不要用全域变量尽量写成member variable比较好但是要写值跟取值 在MultiThread时要用CCriticalSection

Links booklink

Contact Us: admin [ a t ] ucptt.com