So beginne ich meinen Thread wie folgt aus:Wie in C# unabhängigen Thema Schlaf machen
Thread thread = new Thread(myFunction);
thread.start();
Und diese Funktion eine Schleife hat, die einmal pro Sekunde ausführen muss:
public void myFunction(){
while(true){
sleep?
}
}
Wie kann ich diesen Thread schlafen lassen, ohne meinen Haupt-Thread zu pausieren?
Es gibt _many_ Beiträge auf Stack Overflow, die 'Thread.Sleep()' beschreiben, die genau wie die MSDN-Dokumentation erklären, dass nur der Thread, der diese Methode aufruft, verzögert wird. Das Aufrufen von 'Thread.Sleep()' in einem Worker-Thread verzögert den Haupt-Thread nur dann, wenn der Haupt-Thread tatsächlich aus irgendeinem Grund auf den Worker-Thread wartet. Wenn Sie versucht haben, 'Thread.Sleep()' aufzurufen und einen Thread gefunden haben, der nicht blockiert werden soll, müssen Sie eine Frage mit einem guten [mcve] posten, der dieses Verhalten zuverlässig reproduziert. –