----------------------------------------------------------------------------------------------
关键区
CRITICAL_SECTION: 定义关键区
PCRITICAL_SECTION: CRITICAL_SECTION的指针
VOID InitializeCriticalSection(PCRITICAL_SECTION pcs); 初始化关键区
VOID DeleteCriticalSection(PCRITICAL_SECTION pcs); 删除关键区
VOID EnterCriticalSection(PCRITICAL_SECTION pcs); 进入关键区
VOID LeaveCriticalSection(PCRITICAL_SECTION pcs); 离开关键区
BOOL TryEnterCriticalSection(PCRITICAL_SECTION pcs); 如果访问的资源已经被其他线程访问则返回false,反之则返回true
BOOL InitializeCriticalSectionAndSpinCount(PCRITICAL_SECTION pcs, DWORD dwSpinCount); 初始化
PCRITICAL_SECTION pcs: 关键代码段结构的地址
DWORD dwSpinCount: 在使线程等待之前它试图获得资源时想要循环锁循环迭代的次数。
为了提高关键代码段的运行性能,Microsoft将循环锁纳入了这些代码段。因此,当EnterCriticalSection函数被调用时,它就使用循环锁进行循环,以便设法多次
关键区
CRITICAL_SECTION: 定义关键区
PCRITICAL_SECTION: CRITICAL_SECTION的指针
VOID InitializeCriticalSection(PCRITICAL_SECTION pcs); 初始化关键区
VOID DeleteCriticalSection(PCRITICAL_SECTION pcs); 删除关键区
VOID EnterCriticalSection(PCRITICAL_SECTION pcs); 进入关键区
VOID LeaveCriticalSection(PCRITICAL_SECTION pcs); 离开关键区
BOOL TryEnterCriticalSection(PCRITICAL_SECTION pcs); 如果访问的资源已经被其他线程访问则返回false,反之则返回true
BOOL InitializeCriticalSectionAndSpinCount(PCRITICAL_SECTION pcs, DWORD dwSpinCount); 初始化
PCRITICAL_SECTION pcs: 关键代码段结构的地址
DWORD dwSpinCount: 在使线程等待之前它试图获得资源时想要循环锁循环迭代的次数。
为了提高关键代码段的运行性能,Microsoft将循环锁纳入了这些代码段。因此,当EnterCriticalSection函数被调用时,它就使用循环锁进行循环,以便设法多次