前一段时间写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;
&

本文介绍了Windows多线程中临界区的概念及其使用,包括初始化、销毁、进入和离开临界区的函数,并探讨了临界区的线程所有权和递归进入。同时,通过一个实例展示了如何利用临界区实现互斥和同步,确保全局变量的递增输出。
最低0.47元/天 解锁文章
2296

被折叠的 条评论
为什么被折叠?



