[gelöst] CRITICAL_SECTION interner Counter?



  • Hallo zusammen,

    hat eine CRITICAL_SECTION einen internen Counter, der die CS erst nach gepaarten EnterCriticalSection/LeaveCriticalSection freigibt? Wenn nein, gibt es Alternativen, mit denen ich folgendes bewerkstelligen kann?

    class C
    {
       CRITICAL_SECTION CS_;
    public:
       C()
       {
          InitializeCriticalSectiob( &CS );
       }
    
       public f()
       {
          EnterCriticalSection_( &CS_ );
          g();
          LeaveCriticalSectiob( &CS_ );
       }
    
       public g()
       {
          EnterCriticalSection_( &CS_ );
          g();
    
          // wird die CS hier für andere Threads freigegeben, wenn der Aufruf aus f() kam?
          LeaveCriticalSectiob( &CS_ );
       }
    };
    


  • Zitat aus der MSDN:

    The thread must call LeaveCriticalSection once for each time that it entered the critical section.



  • player424 schrieb:

    Zitat aus der MSDN:

    The thread must call LeaveCriticalSection once for each time that it entered the critical section.

    Ah ja, jetzt seh´ ich´s auch, danke!


Anmelden zum Antworten