• [原创]MFC中的多线程处理问题总结


    MFC的窗口并不支持多线程的控制,因此试图多线程访问同一个窗口或控件是不推荐的。

    1.我曾经试图在主线程创建一个对话框,然后启动另一个线程,在线程完成后关闭该对话框,结果在某些时候会出现奇怪的错误。因此,不要多个线程对同一个窗口操作。

    2. 不要对各种设备或与设备相关的资源使用多线程操作。我在辅线程中打开了一个音频设备,然后在主线程中操作该设备,结果时常会出现一些错误。还有我在主线程创建了一个画图设备,然后试图在辅线程关闭该设备也会出现错误。

    3. 如想在线程退出时通知主线程,又不想阻塞主线程的执行,可以通过发消息或在主线程设置定时器来检测辅线程的状态。WaitForSingleObject可以等待,但是会阻塞主线程,如果设置等待时间,则主线程需要等待辅线程的某些操作完成才能进行的操作会导致提前进行。这种情况下可以设置定时器,当检测到主线程完成后执行某些操作。

    以上为自己在实践中获得的感想,也许有不妥的地方,仅作参考。

  • 相关阅读:
    APP高级抓包
    Linux使用日志
    ffmpeg使用记录
    win7 远程连接ubuntu
    v-2-r-a-y使用
    adb
    golang mysql 模糊查询
    交互式批量删除指定目录下指定类型文件
    golang打包和部署到centos7
    Nginx unknown directive ""
  • 原文地址:https://www.cnblogs.com/absolute8511/p/1649615.html
Copyright © 2020-2023  润新知