Wie anhalten/unterbrechen eines thread dann fortsetzen?
Bin ich eine Anwendung in C# verwendet eine Windows forms als GUI und einem separaten thread, der im hintergrund ausgeführt wird, automatisch die Dinge zu verändern. Ex:
public void Run()
{
while(true)
{
printMessageOnGui("Hey");
Thread.Sleep(2000);
//Do more work
}
}
Wie würde ich es machen pause irgendwo in der Schleife, da eine iteration der Schleife dauert rund 30 Sekunden. Also ich würde nicht wollen, um anzuhalten, nachdem es fertig ist eine Schleife, ich möchte die pause auf Zeit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
new ManualResetEvent(false);
Linie). Danke @LirikSollten Sie dies über eine ManualResetEvent.
In einem anderen thread, offensichtlich benötigen Sie einen Verweis auf die mre
Einem vollständigen Beispiel, das gedruckt wird, einen text einzugeben, warten Sie, bis ein anderer thread was machen und dann resume:
Können Sie pause ein thread durch aufrufen von
thread.Suspend
aber das ist veraltet. Ich würde werfen Sie einen Blick auf autoresetevent für die Durchführung der Synchronisierung.