MFC4 und TryEnterCriticalSection



  • Hi,

    ich arbeite hier noch mit der MFC 4 und bin jetzt auf das Problem gestoßen, dass es dort TryEnterCriticalSection() noch nicht gibt (und selbst wenn würde mir das nicht helfen, da die Funktion nur ab W2k Pro existiert und ich es auch für ältere Systeme benötige).

    Welche Alterntiven gibt es, wie kann ich eine CriticalSection nichtblockierend überprüfen?



  • Hallo,

    du könntest z.B. auf Mutex-Objekte ausweichen und bei den Wartefunktionen als Time-Out-Intervall Null angeben, so dass nur der Mutex-Zustand getestet wird.

    MfG,

    Probe-Nutzer



  • IIRC gibt es TryEnterCriticalSection auch auf älteren Systemen, zumindest wenn man diverse Dinge nachinstalliert (das DCOM Package für Windows 95 z.B.). Ich weiss dass in der MSDN kein Windows 9x erwähnt ist, aber ich glaube mich zu erinnern dass es sie trotzdem gibt.

    Ansonsten gibt es noch alternative Implementierungen ala Boost.Thread, oder als letzten Ausweg selbstgestrickte Spin-Sleep-Locks.


  • Mod

    TryEnterCriticalSection
    Windows NT/2000/XP: Included in Windows NT 4.0 and later.
    Windows 95/98/Me: Unsupported.
    Header: Declared in Winbase.h; include Windows.h.
    Library: Use Kernel32.lib.

    Laut MSDN 2001!


Anmelden zum Antworten