SyncLock - was ist der Parameter GetType?

flotschie

Mitglied
Hallo,

mit Synclock sperrt man ja z.b. variablen vor mehrfachen Zugriffen per threads.
Was ist aber das GetType() in dem Befehl?

Bsp:

Code:
SyncLock GetType(Klasse)
            Return geld_aktuell
End SyncLock

statt Klasse hab ich halt immer die Klasse reingeschrieben, in der das Synclock verwendet wird. kann mir wer das genauer erklären?
 
SyncLock sperrt den Zugriff auf ein Objekt. In deinem Fall hast du nur den Zugriff auf die Type-Instanz der Klasse gesperrt, was die andere Threads nicht davon abhalten wird, Instanzen dieses Typs zu ändern.
Code:
SyncLock MeinObjekt
  'Dieser Code hat den exklusiven Zugriff auf MeinObjekt
  MeinObjekt.TuWas()
  MeinObjekt.Mitglied = "neuer Wert"
  'usw...
End SyncLock
 
Noch ne Frage: Was ist wenn man das innerhalb einer Klasse gleich mit Gettern und Settern macht und als GetType den Type 'Me' verwendet?

Bsp:

Code:
Public Class Wertpapier

    Private brief_aktuell As Single
    
    Public Function get_brief() As Single
        SyncLock Me
            Return brief_aktuell
        End SyncLock
    End Function

    Public Function set_brief(ByVal brief As Single)
        SyncLock Me
            brief_aktuell = brief
        End SyncLock
    End Function

End Class
 

Neue Beiträge

Zurück