使用EnterCriticalSection时卡死

问题产生原因:

如下代码,在已经进入临界区时,再次进入其他临界区,会导致软件卡死

EnterCriticalSection(&cs0);//进入临界区
EnterCriticalSection(&cs1);//进入临界区
LeaveCriticalSection(&cs1);//离开临界区
LeaveCriticalSection(&cs0);//离开临界区

解决问题:

如果需要再次进入其他临界区,则先退出已进入的临界

EnterCriticalSection(&cs0);//进入临界区
LeaveCriticalSection(&cs0);//离开临界区
EnterCriticalSection(&cs1);//进入临界区
LeaveCriticalSection(&cs1);//离开临界区
EnterCriticalSection(&cs0);//进入临界区
LeaveCriticalSection(&cs0);//离开临界区

MFC EnterCriticalSection 卡死问题相关推荐

  1. MFC学习(24)线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法

    线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法 注:使用结构CRITICAL_SECTION 需加入头文件#include "afx ...

  2. MFC 多线程及线程同步

    一.MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程.二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环. 工作者线程没有消息机制,通常 ...

  3. MFC的进程和线程,非正常终止

    进程是一个可执行的程序,由私有虚拟地址空间.代码.数据和其他操作系统资源(如进程创建的文件.管道.同步对象等)组成.一个应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程. ...

  4. C++ MFC常用函数(转)

    WinExec() ExitWindowsEx() GlobalMemoryStatus() GetSystemInfo() GetSystemDirectory() GetWindowsDirect ...

  5. c语言第一个mfc程序,c语言之MFC的进程和线程

    MFC的进程和线程 1.Win32的进程和线程概念 进程是:一个可执行的程序,由私有虚拟地址空间.代码.数据和其他操作系统资源(如进程创建的文件.管道.同步对象等)组成.一个应用程序可以有一个或多个进 ...

  6. [转载] MFC绘制动态曲线,用双缓冲绘图技术防闪烁

    转载的原文地址 先上效果图 随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新. 一.如何绘制动态曲线 所谓动画,都是一帧一帧的图像连续呈现在用户面前形成的.所以如果你掌握了如何绘制静态曲线,那 ...

  7. 孙鑫MFC笔记之十四--多线程同步与异步套接字编程

    线程同步有三种方式: 1.      互斥对象涉及方法: HANDLE hMutex=CreateMutex(NULL,FALSE,NULL); //第二个参数为FALSE,将互斥对象声明为空闲状态 ...

  8. MFC绘制动态曲线,用双缓冲绘图技术防闪烁

    转载自:ZHY_ongu的博客:MFC绘制动态曲线,用双缓冲绘图技术防闪烁 先上效果图    随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新. 一.如何绘制动态曲线. 所谓动画,都是一帧一帧 ...

  9. MFC子线程访问主线程对话框程序的控件对象

    最近在使用 VC 开发软件时需要用到多线程同步来解决开发过程中遇到的问题.本来以为只要象控制台程序一样,在主线程创建子线程,并设置好相应的对象事件就能解决问题,但是等到真正做起来,才在实践中发现原来事 ...

最新文章

  1. JQ实现当前页面导航加效果(栏目页有效)
  2. 【maven】pom常用配置
  3. Http GET、Post方式的请求总结
  4. Electron 实战:前端人的最佳跨平台解决方案
  5. 给MDK5/KEIL5安装51/ARM编译坏境
  6. 华为手机linux驱动下载,华为手机驱动官方版
  7. 天大计算机研究生毕业工资,本科生VS研究生工资差距这么大?又一高校薪资排行曝光,看完扎心了……...
  8. win10怎么一键释放运行内存
  9. Oracle 锁详解(lock)
  10. Pandas 实用技能,数据筛选 query 函数详细介绍
  11. 记工信部列入黑名单的域名释放后可以重新注册的jeeace.com使用记录
  12. 用word2vec解读延禧攻略人物关系
  13. 读书笔记(II) 编译原理及实践
  14. 下载图片到指定文件夹
  15. 【算法详解】如何使用递归,递归使用的技巧详解
  16. Ruby On Rails-2.0.2源代码分析(1)-Rails的启动
  17. java怎么设置cookie?java设置cookie教程
  18. kali2020默认账户名和密码
  19. DA1458x使用之第二篇——PWM
  20. Smallpdf 轻松玩转PDF。我们爱它。

热门文章

  1. 【设计原则】面向对象编程的六大原则
  2. 向孩子吼叫的危害和后果 (ZT)
  3. 高校战“疫”网络安全分享赛
  4. OpenFlow协议分析
  5. Openflow协议详解
  6. BizWorks 助力企业应用的高效开发与复用
  7. github创建分支上传最后合并到主分支
  8. xshell用的是linux命令行,如何使用xshell命令行连接服务器
  9. 城市生命线安全风险综合监测预警解决方案
  10. ubuntu16.04+双显卡驱动+cuda9.1+cudnn7.05深度学习环境配置