- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这段代码有什么区别:
::EnterCriticalSection( &m_CriticalSection );
//...
::LeaveCriticalSection( &m_CriticalSection );
和代码:
static CCriticalSection cs;
cs.Lock();
//...
cs.UnLock();
最佳答案
实际上没有区别。 CCriticalSection
是前者唯一的语法 糖。它内部使用EnterCriticalSection
和LeaveCriticalSection!
EnterCriticalSection
和 LeaveCriticalSection
是低级 win32 API,而 CCriticalSection
是包装这些功能的 MFC 类。它有一个由 API 使用的 CRITICAL_SECTION
类型的成员数据。
MSDN说,
The functionality of the CCriticalSection class is provided by an actual Win32 CRITICAL_SECTION object.
关于c++ - CCriticalSection 是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4954352/
我们是 MFC 的几个新手,我们正在构建一个多线程应用程序。我们在 URL 中看到警告我们不要使用 CCriticalSection 的文章,因为它的实现被破坏了。我们很想知道是否有人有使用 CCri
这段代码有什么区别: ::EnterCriticalSection( &m_CriticalSection ); //... ::LeaveCriticalSection( &m_CriticalSe
在 MFC 应用程序中,我有 2 个线程访问我的数据,所以我使用 CCriticalSection Lock 和 Unlock 来保护我的数据不被 2 个线程同时访问。 从其中一个线程我需要锁定我的数
我正在将应用程序从 VC6 升级到 VS2010(旧版代码)。该应用程序在 VC6 中正常运行,但在将项目转换为 VS2010 后,我遇到了一些问题。退出应用程序时,程序会在尝试锁定进入临界区时中断。
这是场景。我有多个处理器线程读取一个值。只允许 1 个线程写入该值。由于设置的缘故,自然而然,在写入过程中没有人可以读取。因此,当 1 个人正在写入新值时,CCriticalSection 将锁定所有
为此,我已经尝试修复/寻找一个小时左右的解决方案。基本上我有: CCriticalSection pCS; 在类声明中,然后我像这样使用 CSingleLock: CSingleLock pSL(&p
我必须使用 MFC/C++ 编写一个简单的线程程序来进行 uni 分配。 我有一个简单的场景,我有一个工作线程,它执行一个函数: UINT createSchedules(LPVOID param)
我是一名优秀的程序员,十分优秀!