WIN32多线程三 线程同步机制Critical Section(转)
来源:互联网 发布:mac air和pro 编辑:程序博客网 时间:2024/05/01 12:42
就是通常说的"锁",多线程对同一份资源的同步控制,经常用Critical Section,用来锁住一份资源,以免多个线程"同时"访问一份资源。通过下面
4个函数来使用InitializeCriticalSection EnterCriticalSection LeaveCriticalSection DeleteCriticalSection来使用。
需要注意的地方:不要长时间的锁住一份资源,不要在锁住资源而没有释放的时候调用Sleep WaitXXX。如果进入CriticalSection的那个线程当掉了
,而没有离开CriticalSection,系统没有办法将其清掉,因为它不是内核对象,不归操作系统管理。
另一个注意地方:每次调用EnterCriticalSection,会使该CriticalSection的引用计数加1,一个线程可以多次调用EnterCriticalSection,使计数
减1。调用了多少次EnterCriticalSection,就应该调用多少次LeaveCriticalSection。
下面是个考虑了多线程的链表的例子,但也不是完全多线程安全。
- WIN32多线程三 线程同步机制Critical Section(转)
- 学习笔记 -- Win32多线程程序设计(三) 同步机制 Critical section and Mutex
- 【Win32多线程】同步机制(Critical section、Mutexes、Semaphore、Event Object)
- WIN32多线程四 线程同步机制Mutex(转)
- WIN32多线程五 线程同步机制Semaphore(转)
- 线程同步的三种方式(Mutex,Event,Critical Section)[转]
- Windows线程同步之临界区对象(Critical Section)
- [并发并行]_[线程同步]_[pthread和win32的临界区(Critical Section)比较]
- 多线程--同步(Critical Section临界区)
- 引用 多线程--同步(Critical Section临界区)
- MFC线程(二):线程同步临界区CRITICAL SECTION
- MFC线程(二):线程同步临界区CRITICAL SECTION
- 多线程之临界区(Critical Section)
- C++多线程-Critical Section
- mfc c++ 多线程同步 关键性代码段CRITICAL SECTION(二)
- 多线程的同步critical section类的用法与解析
- 多线程的同步 critical section 类的用法与解析
- 多线程的同步 critical section 类的用法与解析
- 随笔
- C++之父精彩语录
- WIN32多线程二 用WaitXXX函数等待线程结束(转)
- 创业公司的CEO每周须必做的13件事
- 一个oops问题的调试
- WIN32多线程三 线程同步机制Critical Section(转)
- WIN32多线程四 线程同步机制Mutex(转)
- 内核中用于数据接收的结构体struct msghdr
- WIN32多线程五 线程同步机制Semaphore(转)
- cocoa设计模式经典摘录1
- 在Application Engine 中调用 Crystal Report时,如何为 Crystal Report 传递参数?
- 1328 Radar Installation
- 开博 -- 自话自说
- P2P之UDP穿透NAT的原理与实现