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

hohoxcn 2007-08-13 03:17:40
#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);
}
...全文
125 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hohoxcn 2007-08-13
  • 打赏
  • 举报
回复
To guxingfeiyu: 我用的是VC6.0。

问题已经解决了,太感谢jasonshark(没暑假了...)啦!!!!
guxingfeiyu 2007-08-13
  • 打赏
  • 举报
回复
偶这里试是好的。VS2005环境。你是什么环境?!
hohoxcn 2007-08-13
  • 打赏
  • 举报
回复
太感谢了,马上试一试!
jasonshark 2007-08-13
  • 打赏
  • 举报
回复
不要用CreateThread启动线程,因为你用到了CRT函数,用_beginthreadex
hohoxcn 2007-08-13
  • 打赏
  • 举报
回复
大家帮帮忙吧!!!多谢多谢!!!
hohoxcn 2007-08-13
  • 打赏
  • 举报
回复
总报内存错,请各位高手指教!

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧