Was bedeutet threadsicher (Programmierung)?

4 Antworten

...Zusätzlich zu den bisherigen Antworten:
Wenn ein Thread durch einen Interrupt unterbrochen und wird und nach der Abarbeitung ISR in diesen Thread zurückgekehrt wird, sollte dieser nicht crashen.

Von Experte Dultus, UserMod Light bestätigt

Threadsicher bedeutet, dass du eine Methode aus mehreren Threads aufrufen kannst ohne, dass sich diese Aufrufe gegenseitig beeinflussen.

Sprich wenn ein Thread mitten in einer Methode unterbrochen wird und ein anderer Thread diese Methode aufruft dürfen diese sich bei Threadsicheren Methoden nicht in die Quere kommen.

Das kann man zum einen so erreichen, dass alle Variablen die die Funktion verwendet am Stack sind oder bei Variablen die geteilt genutzt werden entsprechende Threadsynchronisierungsmechanismen in Form von Mutexes oder dergleichen vorhanden sind.

Das heißt es wird keine Probleme geben wenn die Methode aus mehreren Threads aufgerufen wird.

Probleme kann es geben wenn aus mehreren Threads zeitgleich Daten manipuliert werden.

Woher ich das weiß:Berufserfahrung – Software Entwickler / Devops

Definition: Sie sollen mit Threads so wenig Fehler haben, wie ohne threading.