mfc 多线程问题

zhuyuge0 2014-01-09 04:35:38
目的是在图像边保存到本地的同时边进行图像的缩略图绘制。
为了新建了用户界面线程,并在主线程中开启,如代码:
CImage_Scan_OCXCtrl* pCtrl;
if (pUIThread==NULL)
{
pUIThread = (CUIThread* )AfxBeginThread(RUNTIME_CLASS(CUIThread));
}

TW_IMAGEINFO info;
BOOL bContinue=TRUE;
while(bContinue) //有多少张图像该循环执行多少次
{
if(GetImageInfo(info))
{
int permission;
permission = ShouldTransfer(info);
switch(permission)
{
case TWCPP_DOTRANSFER:
bContinue=GetImage(info); //此函数将图像保存到本地
if(pUIThread)
{
pCtrl = (CImage_Scan_OCXCtrl* )AfxGetApp()->m_pMainWnd;
//WaitForSingleObject(pUIThread,INFINITE);
pUIThread->PostThreadMessage(WM_START_UPDATE_IMAGELIST,(WPARAM)pCtrl->dlg,NULL);
Sleep(100);
}
break;
}
}
}

第一次将图像保存之后,PostThreadMessage发送线程消息能够进入子线程pUIThread的消息响应函数,子线程时间片完回到主线程之后,PostThreadMessage发送线程消息还是成功,但是再也无法进入子线程pUIThread的消息响应函数,直到所有图像保存结束之后才进入子线程pUIThread的消息响应函数画出所有缩略图。请问这是扫描情况?
如何能够实现边保存边绘制图像的缩略图?
...全文
89 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuyuge0 2014-01-09
  • 打赏
  • 举报
回复
顶下。。。。。。。。。。。。

15,471

社区成员

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

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