Autor Beitrag
Poscaenium
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 13.05.15 19:43 
Hallo,

ich habe einen Thread erstellt:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
private void startSomethingWithThread()
{
   Thread myThread = new Thread (mDoSomeWork);
   myThread.Start();
}


private void mDoSomeWork ()
{
    // Something todo
}

So - meine Frage: Wie stoppe ich den Thread nun aus einer anderen Methode heraus (z.B. auch über einen Button)? In der Methode startStomethingWithThread geht es ja leicht...

Danke schon vorab für Antworten!

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4701
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 13.05.15 20:08 
Nimm eine boolsche Variable auf der du im Thread regelmäßig prüfst. Z.B du nennst die Variable isAborted und setzt die eben im Falle des Falles von false auf true. Im Thread hast du dann die Chance sauber aufzuräumen und die Threadmethode auslaufen zu lassen.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 13.05.15 20:53 
Hallo und :welcome:

du kannst dir auch mal Abbruch in verwalteten Threads durchlesen (Stichwort: CancellationToken).

Ab .NET 4 würde ich dir auch dazu raten Tasks anstatt Threads zu benutzen.
Poscaenium Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 13.05.15 21:04 
Hey, super für die raschen Antworten!

Ich werde das bei Gelegenheit gleich mal ausprobieren - wobei ich mir zuvor durchlesen werde, wie man verwaltete Threads richtig abbricht.

Danke :!: