您当前的位置: 首页 >  windows

令狐掌门

暂无认证

  • 0浏览

    0关注

    513博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

windows C++多线程(六):临界区CRITICAL_SECTION的使用

令狐掌门 发布时间:2020-02-13 22:36:20 ,浏览量:0

Windows提供的临界区对是CRITICAL_SECTION,使用步骤如下:

(1)创建临界区对象 CRITICAL_SECTION    Section;

          查阅代码可知,CRITICAL_SECTION是一个结构体,声明如下

typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;

typedef struct _RTL_CRITICAL_SECTION {
    PRTL_CRITICAL_SECTION_DEBUG DebugInfo;

    //
    //  The following three fields control entering and exiting the critical
    //  section for the resource
    //

    LONG LockCount;
    LONG RecursionCount;
    HANDLE OwningThread;        // from the thread's ClientId->UniqueThread
    HANDLE LockSemaphore;
    ULONG_PTR SpinCount;        // force size on 64-bit systems when packed
} RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION;

(2)初始化临界区 InitializeCriticalSection(&Section);

(3)进入临界区,禁止其他线程访问 EnterCriticalSection(&Section);或者使用TryEnterCriticalSection 

          声明如下:


                
关注
打赏
1652240117
查看更多评论
立即登录/注册

微信扫码登录

0.0376s