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

急求下段代码的多线程内存有关问题

2012-01-13 
急求下段代码的多线程内存问题#includewindows.hvoidfunc1(shortnType){intnLength4LPBYTEpSendnewBY

急求下段代码的多线程内存问题
#include   <windows.h>

void   func1(short   nType)
{
int   nLength   =   4;
LPBYTE   pSend   =   new   BYTE[nLength];
memset(pSend,   0,   nLength);

memcpy(pSend,   &nType,   sizeof(nType));//填充应答类型

if(pSend   !=   NULL)
{
delete[]   pSend;
pSend   =   NULL;
}
}

DWORD   WINAPI   ThrdFunc1(LPVOID   lpParam)
{
int   i   =   0;
while(1)
{
i++;
func1(0x01ff);
}
}

DWORD   WINAPI   ThrdFunc2(LPVOID   lpParam)
{
int   i   =   0;
while(1)
{
i++;
func1(0x02ff);
}
}

void   main()
{
DWORD   dwThreadId;

HANDLE   hThread[2];
hThread[0]   =   CreateThread(NULL,
0,
ThrdFunc1,
NULL,
0,
&dwThreadId);

hThread[1]   =   CreateThread(NULL,
0,
ThrdFunc2,
NULL,
0,
&dwThreadId);

WaitForMultipleObjects(2,   hThread,   TRUE,   INFINITE);
}

[解决办法]
不要用CreateThread启动线程,因为你用到了CRT函数,用_beginthreadex
[解决办法]
偶这里试是好的。VS2005环境。你是什么环境?!

热点排行