Montag, Oktober 01, 2007

Threadsynchronisierung in .NET

In .NET können Threads über folgende Befehle und Klassen synchronisiert werden:

lock Befehl: Sperrt den Zugriff mithilfe eines Objekts (C#).
Monitor Klasse: Das gleiche wie lock, mit der Klasse.
Wait-Handles: Threads können Zustände signalisiert werden (AutoResetEvent und ManualResetEvent).
Mutex: Wird gebraucht um Threads über Prozesse hinweg zu synchronisieren.
Semaphore: Möglichkeit von Threads-Pools.

Bis jetzt haben mir die Semaphoren am besten gefallen, da sie sich am besten benutzen lassen und auch im Code noch sehr übersichtlich sind.