zoukankan      html  css  js  c++  java
  • VC++ 在类中添加多线程操作

    CTestThread.h

    public:
    	CTestThread(void);
    	~CTestThread(void);
    public:
    	void setvalue();
    	static DWORD _stdcall SecondThreadFunc(LPVOID lparam); //多线程测试,线程成员函数必须是静态变量,不知道为什么?第二种可以使全局函数
    

     CTestThread.cpp

    #include <time.h>  
    #include <windows.h>
    #include <process.h>
    
    
    using namespace std;
    
    
    
    CTestThread::CTestThread(void)
    {
    	tp.aa=14;
    	tp.bb=124.789;
    }
    
    
    CTestThread::~CTestThread(void)
    {
    }
    
    DWORD  _stdcall CTestThread::SecondThreadFunc(LPVOID lparam)
    {
    	//WaitForSingleObject(ctrlevent, INFINITE);  //等待事件触发
    	//SetEvent/ResetEvent  事件发信号 与不发信号 
    
    	/* MYCLASS* pThis = (MYCLASS*)lparam;
        pThis->DoRecvProc();*/
    	CTestThread::ThreadParam *pp = ( CTestThread::ThreadParam *)lparam;
    	 pp->aa=18;
    	 pp->bb=87654.321;
    
    	_endthreadex(0);
    	return 0;
    
    }
    void CTestThread::setvalue()
    {
    	//tp.aa=17;
    	//tp.bb=123456.789;
    	HANDLE hThread;
    	unsigned threadID;
    	// hThread=(HANDLE)_beginthreadex(NULL,0,(unsigned(__stdcall *)(void *))SecondThreadFunc,NULL,0,&threadID);
    	 hThread=  (HANDLE)_beginthreadex(NULL,0,(unsigned(_stdcall *)(void *))SecondThreadFunc,&tp,0,NULL);
    	WaitForSingleObject(   hThread,   INFINITE   );   
        CloseHandle(   hThread   );  
     
    }
    
  • 相关阅读:
    编译debian内核
    mini2440 最小根文件系统制作和nfs启动
    mini2440 uboot烧写uImage
    51单片机串口烧写故障
    uboot 2013.01 代码简析(3)第二阶段初始化
    uboot 2013.01 代码简析(2)第一阶段初始化
    uboot 2013.01 代码简析(1)开发板配置
    uboot 2013.01 s3c6400编译失败
    Shiro
    Shiro
  • 原文地址:https://www.cnblogs.com/marky/p/3205517.html
Copyright © 2011-2022 走看看