【ATL中的各种CriticalSection】
1、CComCriticalSection,最基本CriticalSection,只是简单地包装了一下Windows CirticalSection。
2、CComAutoCriticalSection,在构造和析构函数中初始化CriticalSection,不允许自由Init和Tern。
3、CComSafeDeleteCriticalSection,用来保证cs不会被反复的初始化和删除,另外保证自动释放资源。亦即,你随便用吧,你忘了释放cs时,我来帮你擦屁股,你擦了的时候,我就不帮你擦了。
4、CComAutoDeleteCriticalSection,在(3)的基础上,禁止手动释放cs。目的是统一释放。
5、CComFakeCriticalSection,假的,一切都是假的,一个空壳,只是为了方便实现代码级的统一。
以上五个类在头文件“atlcore.h”中,分析完毕。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步