Hallo zusammen,
wie kann ich einen selbst erzeugten Thread von aussen kontrollieren?
Ich habe in einem Kontrollformular einen Thread erzeugt, der eine rechenintensive Funktion einer DLL ausführt.
Parallel dazu habe ich einen Timer gestartet, über den der Berechnungszustand (weitere Funktion der DLL) abgerufen und angezeigt werden kann.
Dies funktioniert auch.
Über einen Button soll nun der Thread angehalten bzw. abgeschossen werden können (eine ordnungsgemäßige Beendigung über einen Schalter innerhalb der DLL ist in diesem Fall nicht möglich).
Dazu habe ich ein modulglobales Thread-Objekt erstellt und den Thread gestartet:
mMyThread=new Thread(Startfunktion)
mMyThread.Start()
Wenn ich nun das Kommando
mMyThread.Sleep(10000)
ausführe, wird nicht der erzeugte Thread angehalten, sondern stattdessen das Timer-Ereignis (aktueller Thread?) für den Zeitraum blockiert. Alle anderen Thread-Funktionen wie .Abort führen erstrecht nicht zum Ziel.
Ist der Thread nur noch von innen (Variable) kontrollierbar? Wozu gibt es dann Funktionnen wie Abort?
Viele Grüße
FlowPow
wie kann ich einen selbst erzeugten Thread von aussen kontrollieren?
Ich habe in einem Kontrollformular einen Thread erzeugt, der eine rechenintensive Funktion einer DLL ausführt.
Parallel dazu habe ich einen Timer gestartet, über den der Berechnungszustand (weitere Funktion der DLL) abgerufen und angezeigt werden kann.
Dies funktioniert auch.
Über einen Button soll nun der Thread angehalten bzw. abgeschossen werden können (eine ordnungsgemäßige Beendigung über einen Schalter innerhalb der DLL ist in diesem Fall nicht möglich).
Dazu habe ich ein modulglobales Thread-Objekt erstellt und den Thread gestartet:
mMyThread=new Thread(Startfunktion)
mMyThread.Start()
Wenn ich nun das Kommando
mMyThread.Sleep(10000)
ausführe, wird nicht der erzeugte Thread angehalten, sondern stattdessen das Timer-Ereignis (aktueller Thread?) für den Zeitraum blockiert. Alle anderen Thread-Funktionen wie .Abort führen erstrecht nicht zum Ziel.
Ist der Thread nur noch von innen (Variable) kontrollierbar? Wozu gibt es dann Funktionnen wie Abort?
Viele Grüße
FlowPow