unerwartetet Probleme mit Mutex

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    unerwartetet Probleme mit Mutex

    Hi,

    ich habe hier eine Anwendung, bei der ich den Zugriff auf eine XML-Datei
    mit einem Mutex synchronisiere. Von einem Augenblick auf den anderen
    verweigert der Mutex den Zugriff, obwohl er von nirgendwo anders reserviert wurde.

    Ich habe das ganze Projekt schon mal testweise auf eine frühere Version zurückgesetzt, Rechner neu gestartet etc.
    aber der Thread bekommt keine Freigabe mehr von dem Mutex.

    Habt ihr sowas schon mal gehabt ? ?(

    Quellcode

    1. Private Shared m_Mutex As Threading.Mutex
    2. If m_Mutex Is Nothing Then
    3. m_Mutex = New Threading.Mutex(False, "IniFileAccess")
    4. End If
    5. m_Mutex.WaitOne(5000) ' <- bekommt keine Freigabe
    6. m_Mutex.ReleaseMutex()
    Warum verwendest du einen Named Mutex? Afaik ist das das "schwerste" Geschütz zur Threadsynchronisierung und eigentlich nur sinnvoll, wenn es um ein OS-weiten Lock geht bzw zwischen verschiedenen Prozessen synchronisiert werden muss. Ist das bei dir der Fall? Wenn nicht würde ich dir zu Sync Lock bzw. msdn.microsoft.com/en-us/libra…255&MSPPError=-2147217396 raten
    Das ist meine Signatur und sie wird wunderbar sein!
    @Mono Jou
    @Duke Mit nem Mutex stellst Du z.B. fest, ob die Instanz eines Programms mit einem gleich benannten Mutex bereits läuft, so kannst Du Single-Instanz-Programme machen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!