Handbuch zur dynamischen Ablaufverfolgung in Solaris

Threadsperren

Threadsperren sind eine spezielle Form des Spinlocks, die dazu dienen, einen Thread zu sperren, damit sein Status geändert werden kann. Während Hold-Ereignisse von Threadsperren als hold-event-Prüfpunkte für Spinlocks zur Verfügung stehen (d. h. als spin-acquire und spin-release), gibt es für spezifisch auf Threadsperren bezogene Konkurrenzereignisse einen eigenen Prüfpunkt. Der Prüfpunkt für Threadsperren-Hold-Ereignisse ist in Tabelle 18–3 beschrieben.

Tabelle 18–3 Threadsperren-Prüfpunkt

thread-spin

Contention-event-Prüfpunkt, der ausgelöst wird, nachdem ein Thread in einer Warteschleife an einer Threadsperre gewartet hat. Wie auch bei anderen contention-event-Prüfpunkten, wird thread-spin vor spin-acquire ausgelöst, wenn sowohl der contention-event-Prüfpunkt als auch der hold-event-Prüfpunkt aktiviert sind. Im Gegensatz zu anderen contention-event-Prüfpunkten wird thread-spin jedoch vor dem tatsächlichen Erlangen der Sperre ausgelöst. So können auf eine spin-acquire- mehrere thread-spin-Prüfpunktauslösungen kommen.