„Hallo Amigo! Die heutige Lektion ist kurz aber interessant. Ich werde dir etwas über yield erzählen, eine statische Methode der Thread-Klasse.“

Ellie hat dir bereits gesagt, dass der Prozessor ständig zwischen den Threads wechselt. Jedem Thread wird ein kleines Stück Prozessorzeit, ein sogenanntes Quantum, zugewiesen. Nach Ablauf dieser Zeit schaltet der Prozessor auf einen anderen Thread um und beginnt mit der Ausführung seiner Befehle. Durch den Aufruf von Thread.yield() kannst du das Quantum des aktuellen Threads vorzeitig beenden. Mit anderen Worten, die Methode sagt dem Prozessor, dass er zum nächsten Thread wechseln soll.

„Aber warum sollte ein Thread seine Zeit an einen anderen Thread abgeben müssen?“

„Das kommt tatsächlich nicht oft vor. Das Aufrufen von yield bedeutet, dass unser Thread frühzeitig mit seiner Aufgabe fertig ist und dass der Befehl nach yield mit einem vollständigen Quantum beginnt. Dadurch sinkt die Wahrscheinlichkeit, dass er unterbrochen wird. Vor allem, wenn es sich um einen kurzen Befehl handelt, dessen Ausführung nicht lange dauert. Mit diesem Konzept können verschiedene Prozesse optimiert werden.“

Ich kann dir außerdem sagen, dass Thread.sleep(0) tatsächlich auf die gleiche Weise funktioniert. Ich gehe davon aus, dass du die yield-Methode zu Beginn nicht oft einsetzen wirst, aber es ist hilfreich, sie zu kennen.