【ATL中的各种CriticalSection】
1、CComCriticalSection,最基本CriticalSection,只是简单地包装了一下Windows CirticalSection。
2、CComAutoCriticalSection,在构造和析构函数中初始化CriticalSection,不允许自由Init和Tern。
3、CComSafeDeleteCriticalSection,用来保证cs不会被反复的初始化和删除,另外保证自动释放资源。亦即,你随便用吧,你忘了释放cs时,我来帮你擦屁股,你擦了的时候,我就不帮你擦了。
4、CComAutoDeleteCriticalSection,在(3)的基础上,禁止手动释放cs。目的是统一释放。
5、CComFakeCriticalSection,假的,一切都是假的,一个空壳,只是为了方便实现代码级的统一。
以上五个类在头文件“atlcore.h”中,分析完毕。