[MFC]多线程传参问题 [AfxBeginThread]

简介:

一、问题代码

    1.1  Test.h

#pragma  once

class  CTest
{
public :
    CTest(
void );
    
~ CTest( void );

    
void  ThreadMethod(HWND hWnd);

    HWND m_hWnd;
};

    1.2  Test.cpp

#include  " StdAfx.h "
#include 
" Test.h "

CTest::CTest(
void )
{
}

CTest::
~ CTest( void )
{

}

UINT ThreadProc(LPVOID lpParam)
{
    CTest
*  test  =  (CTest * )lpParam;
    HWND hWnd 
=  test -> m_hWnd;
    
return   0 ;
}

void  CTest::ThreadMethod(HWND hWnd)
{
    
this -> m_hWnd  =  hWnd;
    AfxBeginThread(ThreadProc,
this );
}

    1.3  MFC主窗体方法调用

    CTest test;
    test.ThreadMethod(m_hWnd);

    1.4  调试和说明

      将断点打到ThreadProc方法的“HWND hWnd = test->m_hWnd;”,执行发现是空的,而在CTest::ThreadMethod处明明赋值了!实际中还发现变量类型是int可以传递,CString传之后就是乱码或非原始数据了。

二、解决办法

    将test声明为一个指针,通过指针来调用方法,如下:

    test  =   new  CTest();
    test -> ThreadMethod(m_hWnd);

    test在头文件里面声明即可,再次断点发现数据正常。

三、测试代码下载

    /Files/over140/2010/5/AfxThreadLesson.rar

本文转自博客园农民伯伯的博客,原文链接:[MFC]多线程传参问题 [AfxBeginThread],如需转载请自行联系原博主。

目录
相关文章
|
物联网 Linux 开发者
线程函数传参|学习笔记
快速学习线程函数传参
96 0
C++多线程 并行与并发 了解进程和线程 浅显的进行传参,调用
C++多线程 并行与并发 了解进程和线程 浅显的进行传参,调用
C++多线程 并行与并发 了解进程和线程 浅显的进行传参,调用
|
C++
Windows10 VS2017 C++多线程传参和等待线程结束
版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.csdn.net/Jailman/article/details/85322164 #include "pch.
2879 0
|
测试技术 Windows
JMeter命令模式下动态设置线程组和持续时间等动态传参
背景: 1.当通过JMeter的图像化界面运行性能压测或者场景时候,JMeter界面很容易导致界面卡死或者无响应的情况(20个线程数就会卡死) 现象如下:   解决方案: jmeter -n -t D:\apache-jmeter-3.
2550 0
|
消息中间件 开发工具 Windows
深入浅出Win32多线程设计之MFC的多线程-线程与消息队列(经典)
1、创建和终止线程   在MFC程序中创建一个线程,宜调用AfxBeginThread函数。该函数因参数不同而具有两种重载版本,分别对应工作者线程和用户接口(UI)线程。   工作者线程 CWinThread *AfxBeginThread( AFX_THREADPROC pfnThreadP...
1257 0
|
程序员 API C++
多线程编程之二 ---MFC中的多线程开发
下载源代码 五、MFC对多线程编程的支持   MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。  工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。
1661 0
|
C#
C#基础知识回顾--线程传参
  在不传递参数情况下,一般大家都使用ThreadStart代理来连接执行函数,ThreadStart委托接收的函数不能有参数, 也不能有返回值。如果希望传递参数给执行函数,则可以使用带参数的ParameterizedThreadStart委托,           public delegat...
864 0

热门文章

最新文章