码迷,mamicode.com
首页 > 编程语言 > 详细

VC6.0中创建的线程的传参数问题

时间:2015-04-14 20:22:18      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:控制台   程序   线程   线程对应函数参数   

VC中的win32控制台程序,然后包含MFC的程序,用CreateThread()向其对应函数传参数的问题

// test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "test.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// The one and only application object
CWinApp theApp;
using namespace std;
static int count=5;
static HANDLE h1=NULL;
static HANDLE h2;
DWORD dwfun;
int func1(int *a);
void func2();

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
 int nRetCode = 0;
 h1=CreateThread((LPSECURITY_ATTRIBUTES)NULL,   // 默认的安全属性指针
     0,     // 线程堆栈大小
     (LPTHREAD_START_ROUTINE)func1,   // 线程所要执行的函数
     (LPVOID) &count,  // 线程对应函数要传递的参数
     0,     // 线程创建后所处的状态,为0表示立即执行,若为CREATE_SUSPENDED则为创建后挂起,需用ResumeThread()激活后才可执行
     &dwfun);   // 线程标识符指针
 Sleep(5000);
 CloseHandle(func1);
 ExitThread(0);
 

 return nRetCode;
}
//注意函数里的参数一定要使用指针类型,因为LPVOID是指针类型,在函数中使用的时候用指针的引用 
int func1(int *a)
{
 printf("This is a running thread!\n%d\n",2**a);
 return 0;
}

VC6.0中创建的线程的传参数问题

标签:控制台   程序   线程   线程对应函数参数   

原文地址:http://javavwv.blog.51cto.com/8832079/1632077

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!