动态创建线程的问题

gyj_china 2005-04-11 09:45:48
我在程序中创建的线程数由用户确定。

pHwnd = new HANDLE[iFileCutNum+1];

for (int i=0; i<iFileCutNum; i++)
{
InitCutFileInfo(i);
//这句执行到第二次出错??为什么??
pHwnd[i] = CreateThread(NULL,0,ThreadFunc,&g_File_Cut_Information,0,(LPDWORD)pHwnd[i]);
}
...全文
117 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2005-04-11
  • 打赏
  • 举报
回复
确定出错位置,调试一下
SharpKing515 2005-04-11
  • 打赏
  • 举报
回复
会不会是它的问題???
g_File_Cut_Information

友情UP。。。友情结婚。。。。
gyj_china 2005-04-11
  • 打赏
  • 举报
回复
typedef struct FileInfomation{ //文件分割信息
char cSrcFileName[MAX_PATH];
char cDecFileName[MAX_PATH];
__int64 iCutFileSize;
__int64 iBeginPos;
}FINFO;

FINFO g_File_Cut_Information;

……

void __fastcall TMainForm::InitCutFileInfo(int ThreadCount)
{
String sSaveFileName = sSavePath+sPartName;
sSaveFileName += String(ThreadCount);
strcpy(g_File_Cut_Information.cDecFileName,sSaveFileName.c_str());
strcpy(g_File_Cut_Information.cSrcFileName,sFileName.c_str());
g_File_Cut_Information.iCutFileSize = iFileCutSize;
g_File_Cut_Information.iBeginPos = ThreadCount*iFileCutSize;
}
老夏Max 2005-04-11
  • 打赏
  • 举报
回复
说明你的函数写的有问题,不能重入。导致错误!看看InitCutFileInfo的代码。
kinglh 2005-04-11
  • 打赏
  • 举报
回复
高手们快来指点指点.

救命!!!
mixtrue 2005-04-11
  • 打赏
  • 举报
回复
你的线程涵数呢? ThreadFunc

15,472

社区成员

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

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