临界区

函数 EnterCriticalSection 和 LeaveCriticalSection 声明如下:
?
1
2
3
4
5
6
WINBASEAPI
VOID
WINAPI
EnterCriticalSection(
     __inout LPCRITICAL_SECTION lpCriticalSection
);
是多线程中用来确保同一时刻只有一个线程操作被保护的数据的操作函数,相关的多线程数据操作函数还有:
?
1
2
3
4
5
6
InitializeCriticalSection(&cs); //初始化临界区
EnterCriticalSection(&cs); //进入临界区
//操作数据
MyMoney*=10; //所有访问MyMoney变量的程序都需要这样写Enter.. Leave...
LeaveCriticalSection(&cs); //离开临界区
DeleteCriticalSection(&cs); //删除临界区