• MFC的多线程同步和互斥


    四种方式:

    临界区

    互斥量

    信号量

    事件

      特点 操作原语 MFC下的操作
    临界区     虽然临界区同步速度很快,但却只能用来同步本进程内的线程

    EnterCriticalSection()(定义在WinBase.h中)
    LeaveCriticalSection()

    CCriticalSection类
    Lock()
    UnLock()

    互斥量

    比临界区复杂。因为使用互斥不仅仅能够在同一应用程序不同线程中实现资源的安全共享,

    而且可以在不同应用程序的线程之间实现对资源的安全共享

    CreateMutex()创建一个互斥量 
    OpenMutex()打开一个互斥量 
    ReleaseMutex()释放互斥量 
    WaitForMultipleObjects()等待互斥量对象 
    CMutex
    信号量 信号允许多个线程同时使用共享资源,它指出了同时访问共享资源的线程最大数目     CreateSemaphore()创建一个信号量 
        OpenSemaphore()打开一个信号量 
        ReleaseSemaphore()释放信号量 
        WaitForSingleObject()等待信号量 
    HANDLE 
    事件 可以实现不同进程中的线程同步操作     CreateEvent()创建一个信号量 
        OpenEvent()打开一个事件 
        SetEvent()回置事件 
        WaitForSingleObject()等待一个事件 
        WaitForMultipleObjects()
    HANDLE 

    参考文章:

    https://www.cnblogs.com/lyjclsd/p/3604416.html

    新战场:https://blog.csdn.net/Stephen___Qin
  • 相关阅读:
    HDU6300(2018多校第一场)
    HDU6301(2018多校第一场)
    HDU6308(2018多校第一场)
    HDU6299(2018多校第一场)
    HDU6298(2018多校第一场)
    HDU1255覆盖的面积
    51nod 2133 排队接水
    bryce1010专题训练——Splay树
    img
    操作系统实验代码
  • 原文地址:https://www.cnblogs.com/Stephen-Qin/p/12694596.html
Copyright © 2020-2023  润新知