• win32多线程学习总结:同步机制critical sections


    Critical sections是win32中最容易使用的同步机制,用来处理一份共享资源,共享资源指的是每次只能够被一个线程处理的资源,包括内存、数据结构、文件等。

    优点:

    1.使用便捷,即声明即使用,不需要系统核心对象,声明一个CRITICAL_SECTION类型的变量、初始化critical section、删除critical section、进入critical section、离开critical section。

    特性:

    1.线程进入critical section后可以重复进入,离开时需要离开相应次数才真正释放资源。

    2.Critical section是同步操作的锁,等待资源的线程会一直等待下去,直到获取锁资源。

    用法:

    1.初始化critical section时候调用initializecriticalsection,删除critical section时调用deletecriticalsection释放掉critical section,需要获取critical section的使用权限时调用entercriticalsection,离开时调用LeaveCriticalSection。

    2.设计为全局变量或者需要共享资源的一组对象的共有对象(比如说链表的成员变量),尽量以最小的组范围来共享资源,否则其他线程会因为太多等待而浪费不少效率。

    3.只应该在最小的资源冲突时使用critical section,程序执行很长时间时设计成数次进入与离开critical section。

  • 相关阅读:
    SQLSERVER 中GO的作用
    工作相关工具介绍
    SQL Server 没有足够的内存继续执行程序 (mscorlib)的解决办法
    glyphicons-halflings-regular.woff2 not found 前台错误修正
    Asp.net MVC Pager分页实现
    金融相关网站
    Excel 函数使用
    C# 使用 Invoke 实现函数的白盒 UT 测试
    反编译工具
    SQL Server 数据库修改后不允许保存
  • 原文地址:https://www.cnblogs.com/learn-my-life/p/3599789.html
Copyright © 2020-2023  润新知