小弟一直有一个疑问,在用临界区进行全局变量保护时,好像并未指定保护哪个变量阿,里面究竟是靠什么机制来实现的。
//global 
int a[10],b[10];thread1()
{
//EnterCriticalSection
//read a
//LeaveCriticalSection
}thread2()
{//EnterCriticalSection
//write a
//LeaveCriticalSection
}假如在//EnterCriticalSection和//LeaveCriticalSection之间对a,b两个全局变量进行读写,是否能否达到同时保护2个变量的效果。
临界区是靠什么来识别应该保护哪个变量的,请高手赐教。

解决方案 »

  1.   

    保护//EnterCriticalSection和//LeaveCriticalSection之间的所有东西.呵呵
      

  2.   

    假如在//EnterCriticalSection和//LeaveCriticalSection之间对a,b两个全局变量进行读写,是否能否达到同时保护2个变量的效果。
    ============================================
    当然可以
      

  3.   

    EnterCriticalSection和//LeaveCriticalSection之间的东西都保护
      

  4.   

    明白了,那Cmutex也一样了,保护一段代码而不是保护一个变量?,不知道是谁误导我的说一个临界区只能保护一个全局变量的