c# Threa mit GUI-Zugriff beenden

12/01/2011 - 13:53 von Curtis Newton | Report spam
Hallo,

ich habe ein c#-Programm mit zwei Threads (GUI und Worker): Im Worker
greife ich threadsicher mittels Invoke-Trick
(http://dotnet-snippets.de/dns/threa...D1043.aspx)
auf GUI-Elemente zu.

Wie beende ich aber solch einen Thread vom GUI-Thread aus? Ich bekomme
ja einen Deadlock, oder?

Ich habe in MainForm_FormClosing (also im GUIThread) z.B. das:

_workerObj.RequestStop();

// Use the Join method to block the current thread
// until the object's thread terminates.
_workerThread.Join();

Aber gleichzeitig kann ja der Workerthread auch gerade die GUI updaten
wollen, und das geschieht ja auch im GUI-Thread?!?!

Verwirrend.
Bye
 

Lesen sie die antworten

#1 Jochen Kalmbach[MS MVP]
12/01/2011 - 14:37 | Warnen spam
Hallo Curtis!

greife ich threadsicher mittels Invoke-Trick auf GUI-Elemente zu.



Warum verwendest Du ".Invoke" und nicht ".BeginInvoke"?

Brauchst Du einen Rückgabewert?

Wenn nein, dann mach es mit "BeginInvoke". Damit gibt es dann keine
Dead-Locks.

Greetings
Jochen

Ähnliche fragen