Announcement

Collapse
No announcement yet.

Wann ist meine Methode Threadsicher?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wann ist meine Methode Threadsicher?

    Hallo,

    ich habe ein Thread geschrieben der eine Methode aus dem Hauptformular aufruft! Diese Methode lädt eine Datei aus dem Internet mit der Indy-Komponente. Es heißt immer wieder das man eine Methode die nicht Thread-Sicher ist nicht aufrufen soll. Was heißt jetzt genau "Thread-Sicher" ?? Wann weiss ich ob meine Methode "Thread-Sicher" ist?? In meinem Beispiel wird die aufgerufene Methode ausschließlich von dem Thread genutzt und nicht von mein Hauptformular. Es werden auch keine Variabeln in dem Thread verändert. Das ist ganz sicher! Ist meine Methode jetzt Thread-Sicher?

    Gruß Rainer

  • #2
    Hallo,

    >Ist meine Methode jetzt Thread-Sicher?

    das kann, muss aber nicht sein. Entscheidend ist, dass innerhalb der Methode keine Win32-Funktion oder sonstige Funktion aufgerufen wird, die selbst nicht treadsicher ist. Um im Fall von mehreren gleichzeitig aktiven Threads auf Nummer Sicher zu gehen, muss man sich also auch die interne Implementierung aller verwendeten Komponenten anschauen und dort bei jeder vorgefundenen Funktion das Kleingedruckte durchlesen.

    >Was heißt jetzt genau "Thread-Sicher" ?

    Eine Programmfunktion ist dann Thread-Sicher, wenn sie gleichzeitig von mehreren Threads genutzt werden kann, ohne das es zu "Komplikationen" kommt :-)

    >..ein Thread geschrieben der eine Methode aus dem Hauptformular aufruft!

    Wie erfolgt dieser Aufruf? Wird <i>Synchronize</i> verwendet? Warum wird die Nutzfunktion nicht innerhalb der Execute-Methode des Threads implementiert, sondern im Hauptformular

    Comment

    Working...
    X