ATL中的各种CriticalSection

ATL中的各种CriticalSection

1、CComCriticalSection,最基本CriticalSection,只是简单地包装了一下Windows CirticalSection。

2、CComAutoCriticalSection,在构造和析构函数中初始化CriticalSection,不允许自由Init和Tern。

3、CComSafeDeleteCriticalSection,用来保证cs不会被反复的初始化和删除,另外保证自动释放资源。亦即,你随便用吧,你忘了释放cs时,我来帮你擦屁股,你擦了的时候,我就不帮你擦了。

4、CComAutoDeleteCriticalSection,在(3)的基础上,禁止手动释放cs。目的是统一释放。

5、CComFakeCriticalSection,假的,一切都是假的,一个空壳,只是为了方便实现代码级的统一。

以上五个类在头文件“atlcore.h”中,分析完毕。

原文地址:https://www.cnblogs.com/tekkaman/p/2042034.html