zoukankan      html  css  js  c++  java
  • 基本的MFC多线程

          多线程程序我本来是能够来写的。但是由于在图像处理的过程中,对于这方面知识使用的比较少,造成重复忘记的情况。这里再次进行整理学习,特别注重和“图像处理”理清关系,为下一步使用奠定基础。

    这里实现的是工作者线程
    在.h文件中定义
    struct threadInfo
    {
        UINT nMilliSecond;
        CProgressCtrlpctrlProgress;
    };
    UINT ThreadFunc(LPVOID lpParam); 
    这些是需要在dlg文件外部的
    CWinThreadpThread
    在内部的。
    在.cpp文件中,实现ThreadFunc,并且将参数进行转换
    threadInfo Info
    UINT ThreadFunc(LPVOID lpParam)
    {
        threadInfopInfo=(threadInfo*)lpParam;
        for(int i=0;i<100;i++)
        {
            int nTemp=pInfo->nMilliSecond;
     
            pInfo->pctrlProgress->SetPos(i);
     
            Sleep(nTemp);
        }
        return 0;
    }
    最后在事件中进行驱动
    void CMFCApplication1Dlg::OnBnClickedButton1()
    {
        // TODO: 在此添加控件通知处理程序代码
        UpdateData(TRUE);
        Info.nMilliSecond=m_nMilliSecond;
        Info.pctrlProgress=&m_ctrlProgress;
     
        pThread=AfxBeginThread(ThreadFunc,&Info);
     
    }
    可以看到,线程的创建已经最后简化到了(函数名,参数)的形式,应该说是非常不错的。
    但是反思一下,这种机制如何在图像处理中运用了?





  • 相关阅读:
    mpeg2 ts流PAT,PMT,SDT的定义
    机顶盒和TV的连接 ---色差分量线(YPbPr)、AV线(三色线)
    how DVB SI EIT section mapping into transport stream packet?
    cocos2d 创建工程bat文件
    cocos2d 碰撞检测
    cocos2d 播放音乐
    cocos2d 显示中文(使用bmpfont generator这个工具)
    cocos init
    cocos2d 特效, effect
    cococ2d 进度条
  • 原文地址:https://www.cnblogs.com/jsxyhelu/p/5493320.html
Copyright © 2011-2022 走看看