Multithreading bei Formularen und Steuerelementen

Aktualisiert: November 2007

Multithreading eignet sich besonders gut für die Ausführung von Prozeduren und Klassenmethoden, Sie können es aber auch für Formulare und Steuerelemente verwenden. Berücksichtigen Sie dabei folgende Punkte:

  • Die Methoden eines Steuerelements sollten, wenn möglich, nur in dem Thread ausgeführt werden, mit dem das Steuerelement erstellt wurde. Wenn eine Methode eines Steuerelements in einem anderen Thread aufgerufen werden muss, müssen Sie die Methode mit Invoke aufrufen.

  • Verwenden Sie die SyncLock-Anweisung nicht, um Threads zu sperren, die Steuerelemente oder Formulare verarbeiten. Da die Methoden von Steuerelementen und Formularen manchmal einen Rückruf der aufrufenden Prozedur ausführen, verursachen Sie dadurch u. U. unabsichtlich einen Deadlock. Dies ist eine Situation, in der zwei Threads darauf warten, dass der jeweils andere die Sperre wieder aufhebt, sodass die Anwendung angehalten wird.

Siehe auch

Konzepte

Threadstatuswerte

Parameter und Rückgabewerte für Multithreadprozeduren

Multithreadanwendungen

Referenz

Invoke

InvokeRequired

Weitere Ressourcen

Multithreading in Komponenten