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的使用权限时调用entercriticalsection,释放掉criticalsection。 2.设计为全局变量或者需要共享资源的一组对象的共有对象(比如说链表的成员变量),尽量以最小的组范围来共享资源,否则其他线程会因为太多等待而浪费不少效率。 3.只应该在最小的资源冲突时使用critical section,程序执行很长时间时设计成数次进入与离开critical section。

win32多线程学习总结:同步机制critical sections,布布扣,bubuko.com

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

上一篇:【More Effective C++】Item 6


下一篇:Java基础