前一段时间写Qt,在多线程的问题上卡住了,需要学习一下多线程的东西。
看了一个多线程的专题,在临界区的部分,学习了一些东西。
临界区部分主要是4个函数:
临界区初始化函数,void InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
临界区销毁函数,void DeleteCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
进入临界区函数(获得所有权),void EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
离开临界区函数(释放所有权),void LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
函数功能和用法还是很简单明了。
CRITICAL_SECTION所定义的结构体如下:
typedef struct _RTL_CRITICAL_SECTION {
PRTL_CRITICAL_SECTION_DEBUG DebugInfo;
LONG LockCount