Wie kann ich einen Thread anhalten / anhalten und dann fortsetzen?

Ich erstelle eine Anwendung in C #, die eine Winform als GUI und einen separaten Thread verwendet, der im Hintergrund ausgeführt wird und automatisch Änderungen vornimmt. Ex:

public void Run()
{
    while(true)
    {
        printMessageOnGui("Hey");
        Thread.Sleep(2000);
        // Do more work
    } 
}

Wie würde ich es irgendwo in der Schleife pausieren lassen, da eine Iteration der Schleife etwa 30 Sekunden dauert. Ich möchte es also nicht pausieren, nachdem eine Schleife fertig ist. Ich möchte es pünktlich pausieren.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage